• 跳至主要导航
  • 跳到主要内容
  • 跳到主要侧边栏
  • 跳到页脚

单片机技巧

微控制器工程资源,微控制器新产品和电子工程新闻

  • 产品展示
    • 8-bit
    • 16-bit
    • 32-bit
    • 64-bit
  • 应用领域
    • 汽车行业
    • 连接性
    • 消费类电子产品
    • 产业
    • 医疗类
    • 安全
  • EE论坛
    • EDABoard.com
    • Electro-Tech-Online.com
  • 影片
    • TI单片机视频
  • EE资源
    • 快速设计
    • 电子书/技术提示
    • 常见问题
    • LEAP奖
    • 播客
    • 网络研讨会
    • 白皮书
  • EE学习中心

阿杜伊诺

Arduino的的微控制器电源注意事项

2020年11月17日 通过 斯科特·桑顿 2条留言

为Arduino供电有点不可思议。那不是’当我第一次开始与他们合作时,对我来说并不明显,但是Arduinos具有板载规范。利用此优势,通过使用比微控制器(MCU)逻辑电平所需的标称5V或3.3V更高的电压电源,可以更长的电源接线时间。某些Arduino接受6Vdc至16 Vdc的输入电压,该电压远高于MCU的最大额定值,但Arduino板可精确调节电源电压以及Arduino外设的附加电源。一世’曾经有经验丰富的工程师对采用9Vdc电源为3.3V Arduino的供电的原因感到困惑,直到向他们解释为止。

单片机电源要求

通常忽略了为基于微控制器的设计选择合适的电源。尽管在设计本身的细节上可能需要付出大量的精力和精力,但是许多性能和可靠性问题都可以追溯到电源的选择和连接。 Arduino的开发板家族提供了针对这些问题的解决方案,但在不充分了解设计时可以使用哪些选项的情况下,很容易出错。这并非简单地说5V Arduino的使用5Vdc电源,而3.3V Arduino的使用3.3 Vdc电源。

Arduino的电源要求

许多Arduino使用 ATmega328P 微控制器。 Microchip的ATmega328具有广泛的可接受的Vcc电压。 (Vcc是操作IC所需的稳压DC电源电压,通常被称为IC的电源电压。)最常见的是,Arduino设计用于低功耗的3.3 V逻辑或5 V逻辑。与传统的TTL逻辑设备兼容。下面提供的示例涉及3.3 Vdc设备,其中对电源的考虑更为关键。但是,相同的原理也适用于5 Vdc设备。

图1:Arduino板规格。 (来源:www.arduino.cc)

示例:Arduino Pro Mini

首先,我们假设电路设计使用了类似 Arduino的 Pro迷你版。 Arduino的的最大电流消耗为200mA。 Arduino的本身不太可能会汲取200mA的电流,但假设Arduino和与之连接的其他设备之间的总耗电量为200mA。 ATmega328p数据表显示,引脚上逻辑高电平的最小电压为Vcc的90%。因此,如果Vcc为3.3 Vdc,则视为逻辑高电平的引脚上的最小电压为0.9 * 3.3 Vdc = 2.97 Vdc。在低于2.97 V的数字引脚上看到的任何值都在不确定的范围内,并且会导致Arduino产生不可预测的结果。

电源和Arduino之间总是存在一定距离。距离越大,电源接线两端的电压损失就越大。但是损失了多少呢?由于26 AWG是低功率电路布线的常见选择,并且它位于线规范围较小的一端,因此铜的数量更少。更少的铜意味着更低的成本。 26 AWG绞合线是一个不错的选择,因为布线的灵活性。 26 AWG足够大,因此可以承载高达2.2Amp的机箱布线,这是我们为设计中Arduino的最大电流消耗所指定的200mA电流消耗的十倍以上。 3.3 Vdc电源和26 AWG似乎是一个不错的选择,但让我们仔细看看。

电源线损

优质26 AWG导线的电阻为每1000英尺40.81欧姆或每英尺40.81毫欧。在电源线中流过200mA电流时,每条导线的电压降将如下所述。请记住,我们需要将电线从电源连接到Arduino,然后再次将其连接到电源的负极。我们可以看到,在十英尺处,我们的3.3 Vdc电源损失了5%。在20英尺高处,我们损失了近10%。此操作将施加到Arduino的电压降低到4.5V;我们保证的最大数字逻辑高电压的下限。

表1:线损。距离表示板与其电源之间的物理距离。 (来源:作者)

对于大多数应用而言,二十英尺似乎是一个合理的距离。但是,到目前为止,我们仅考虑了导线本身的电阻。

接触电阻

通常不考虑甚至不了解接触电阻。 26 AWG导线的电阻基于导线的横截面直径为每1000英尺40.81欧姆。但是,在布线中我们连接的每个点上,我们都创建了一个电流路径横截面减小的点,因此电阻点更高。

配合圆形连接器只会使销钉在切线点处接触到枪管。 刀片连接器 在整个表面上产生相同的减小的面积。甚至一个 螺丝端子 不能匹配导线本身的横截面电阻。考虑到任何终端都容易随着时间的流逝而氧化,并且会在系统的整个使用寿命中多次连接和断开电线,从而增加电阻。这些点中的每一个都可以很容易地具有40毫欧的接触电阻。那就对了;每个连接点可增加1英尺26 AWG线的等效电阻。通过两个连接在Arduino上的连接和两个在电源上的连接,任何系统都将至少具有4个终端。现在,Arduino和其电源之间的电压源在8英尺处的损耗为5%,在18英尺处的损耗为10%。

表2:线损和接触电阻

单一供应选择–距离不同?

因此,在典型的电源接线设置下,电源和Arduino之间的3.3V电源电压在8英尺处损失了5%,在18英尺处损失了10%。简而言之,如果我们使用可调直流电源,则可以增加电压以补偿线路损耗和接触电阻。但是,电源很昂贵并且占用空间。通常,在嵌入式系统中,设计人员尝试为多个嵌入式控制器提供通用电源。如果一个控制器距电源一英尺远,最后一个控制器距电源20英尺远,则设计人员将采取微妙的平衡措施,将每个嵌入式控制器保持在适当的范围内。

Arduino的电源选项

Arduino的设计通过提供板上调节功能为您提供了一种解决线路损耗和接触电阻电源问题的方法。但是,有几种方法可以为Arduino供电,但并非所有方法都可提供板上调节的优势:

USB电源 –通常使用USB电缆通过Arduino集成开发环境(IDE)对Arduino进行编程。 USB电缆不仅通过IDE串行监视器提供诊断,而且还通过USB Vcc引脚为Arduino提供5Vdc电源。 5V USB电源用于直接为5V Arduino的供电,如果是3.3V Arduino的,则将其调低。

5V或3.3V电源 –设计人员可以向Arduino的5V或3.3V电源引脚施加适当的电压。这些引脚直接连接到Arduino板上MCU的电源引脚。但是,向这些引脚供电会导致Arduino的MCU受到前面提到的电源的线损和接触电阻损耗的影响。

Vin或Raw–   Arduino可能会将此引脚标记为“ Vin”或“ RAW”,具体取决于 Arduino的变体 正在使用。一个常见的错误是对该引脚施加5V或3.3V电源。这样做的问题是,不仅您有前面提到的线路损耗和接触电阻损耗,而且该引脚是板载稳压电路的输入。喜欢 任何稳压器,您需要向设备提供的电压要比预期的要多一些。如果我们对Vin施加3.3 Vdc,则通过调节器会损失大约0.5伏。这意味着微处理器和连接的外围设备充其量只能在2.8 Vdc上运行。结合我们提到的线路损耗和接触电阻损耗,我们可以在低于所需电压水平的条件下运行。

表3:线路损耗,接触电阻和稳压器损耗

V在  pin, properly used

尽管存在上述问题,但使用V在 或RAW引脚可解决电源电压损失。在Arduino板上,V在 或RAW引脚是Arduino板上稳压器的输入。我们要做的就是在指定范围内施加电压,以向Arduino获得所需的稳压输出。向Vin或RAW施加6 Vdc至12 Vdc的电源电压将为Arduino的微控制器供电,克服了任何线路或接触电阻的电压损耗,并向Arduino的5V和3.3V引脚提供功率输出以为外围组件供电。 Arduino的的输入电压范围取决于整个板上的电压要求,包括MCU为外围设备供电所需的能量。

结论

7 Vdc至12 Vdc范围内的现成电源不如3.3Vdc或5Vdc电源常见,但可以使用。试图将更常见的5 Vdc和3.3 Vdc电源用于Arduino电路板,但是从上面介绍的事实来看,有必要使用较不常见的替代方法以获得最佳调节和微控制器性能。

提起下: 常问问题, 精选, 微控制器, 工具类 标签: 阿杜伊诺, 基本, 常问问题, 微芯片技术公司

低功耗Arduino板可处理工业温度范围

2020年1月7日 通过 艾米·卡尔诺斯卡斯(Aimee Kalnoskas) 发表评论

低功耗Arduino Portenta在2020年国际消费电子展上,Arduino宣布了低功耗新型Arduino Portenta系列。专为苛刻的工业应用,人工智能边缘处理和机器人技术而设计,它具有开放式高密度互连的新标准,以支持高级外围设备。该系列的第一个成员是Arduino Portenta H7模块–双核Arm Cortex-M7和Cortex-M4分别以480MHz和240MHz的频率运行,并具有工业温度范围(-40°至85°C)的组件。 Portenta H7模块能够运行Arduino代码,Python和Javascript,从而使更广泛的开发人员可以访问它。

通过使用Altium Designer和Altium 365云平台进行硬件设计,可以进一步加快部署时间。使用Altium Designer的SMB和设计专业人员现在可以利用一系列Arduino参考设计资产,从经过验证的组件符号和封装到原理图和布局模板以及示例,使其比以往更快,更轻松地创建集成了Arduino模块化硬件的定制硬件设计。

Arduino的软件也在不断发展以支持这种新的高性能硬件,在Arm Mbed OS开源IoT操作系统之上运行熟悉的Arduino代码,以提供具有用户友好型前端的企业级功能。计划于2020年2月推出。新的Arduino Portenta H7模块现已向beta版用户开放。 阿杜伊诺.cc/pro。 Beta计划最初针对企业和SMB客户以及专业制造商。

提起下: 应用领域, 人工智能, 嵌入式的, 硬件, 产业, 机器人/无人机 标签: 阿杜伊诺

微控制器顶级对话于2019年11月在EDABoard.com上

2019年12月2日 通过 艾米·卡尔诺斯卡斯(Aimee Kalnoskas) 发表评论

EDABoard.com工程社区有关微控制器的点对点,工程师对工程师的问题和答案。点击“Read more”链接并跟随整个对话,也许可以通过登录到来添加您的2美分 EDAboard.com.

变形错误,PC地址无源线 –我在Atmel Studio中为ATmega32编写了C代码。现在,我想在Proteus中对其进行调试。使用汇编代码时,我可以很容易地看到汇编代码“step in” “step over”并使用断点等。但是当涉及到C编程时,我可以’看不到任何代码对其进行调试。我在proteus中加载.elf代码。有人可以在这个问题上给我帮助吗? 阅读更多

ACS712-5A交流电流读数 –我指的是第12页的应用程序4 数据表 并同时参考第13页。我使用的是应用4中提到的1N4448W二极管。’t要测量负电流。二极管的Vf。我如何补偿它以获得0至5 A的实际AC电流的0至5 A的读数? 阅读更多

这个方程式从何而来? –我指的是这个 文章 了解CORDIC实施atan功能。在第5页上,对于矢量模式,如果yi,则di的方向为1<否则为0或-1。这种关系从何而来?是仅凭观察还是其背后的任何逻辑? 阅读更多

正弦/余弦编码器到数字 –我有来自编码器的正弦cos数据,必须将其转换为与角度相对应的数字并估计速度。我需要使用MCU来执行此操作。有经过验证的方法吗? 阅读更多

使用LUT实现正弦余弦 –我指的是这个链接 数学作品 它描述了利用四分之一波对称性通过LUT生成正弦波的过程。我想了解这个概念,以及它与CORDIC有何不同?对于定点实现,Matlab始终建议在CORDIC上推荐基于LUT的正弦/余弦。为什么会这样呢? 阅读更多

Arduino的的问题 –我最近组装了一个可以测量和显示温度的设备。我正在使用2个七段显示器,一个小显示器用于显示一些参数,一个大显示器(4英寸高)用于显示温度。现在,大显示屏的问题在于,最右边的数字格外亮,而左边的三个数字很暗。 阅读更多

SD卡识别 –SD主机控制器如何知道SD卡是否已插入连接器插槽? 阅读更多

默认的从站地址是什么 ACS71020 –我正在尝试使用I2C通信与ACS71020通信。我想知道默认的从站地址 ACS71020KMABTR-090B3-I2C。在数据表中也未提及默认从站地址。 阅读更多

PIC16F1934定时器0 –我拿起了带有MCU的启动器PICkit3,迅速使LED闪烁,然后决定我真的很喜欢这本书,然后开始更深入地研究。但是,我遇到了一些困难,需要通过计时器中断来控制闪烁的LED。 阅读更多

PIC单片机中的波特率限制 – I have tested 图16F876 57600可以正常工作。但是,它在115200失败。这是一个限制吗?可以将115F876与115200一起使用吗? 阅读更多

提起下: 16-bit, 精选, 微控制器, 产品展示, 工具类 标签: 阿杜伊诺, edaboardcom, 数学作品, 微芯片技术公司

能量收集评估板包括Arduino兼容接口

十月31,2019 通过 艾米·卡尔诺斯卡斯(Aimee Kalnoskas) 发表评论

瑞萨电子公司(Renesas Electronics Corporation)推出了RE系列,该系列涵盖了该公司当前和未来的能量收集嵌入式控制器产品线。 RE系列基于瑞萨专有 SOTB (薄埋氧化硅)工艺技术,可显着降低活动和待机状态下的功耗,从而无需更换电池或为电池充电。

在RE系列的第一个产品RE01组(以前称为R7F0E嵌入式控制器)量产之后,今天推出了新的RE01组评估套件,该套件允许使用RE01组设备的用户快速启动系统评估。用于能量收集应用。

新的RE01评估套件包括一个带有RE01嵌入式控制器的评估板,一个用于能量收集设备的接口以及一个可充电电池接口。该套件还包括一个Arduino兼容接口,用于轻松扩展和评估传感器板;以及一个Pmod连接器,用于扩展和评估无线功能。此外,还有一个超低功耗MIP LCD扩展板,以便用户可以更快地评估显示功能。

该套件还包含示例代码和应用笔记,可作为无需电池维护的电源管理设计的参考,以及支持CMSIS(Arm的Cortex微控制器软件接口标准)的驱动程序软件。提供用于超低功耗A / D转换器,数字滤波器和FFT(快速傅立叶变换)例程,2D图形MIP LCD显示屏以及安全启动和安全固件更新功能的示例代码,以提高安全性。借助这些功能,该套件可以在系统级别采用基于RE01 Group设备的能量收集,并加快不需要电池维护的设备的开发。

适用于Arm的IAR嵌入式工作台,可以使用高效的IAR C / C ++编译器和e2 可以使用免费GNU编译器的studio(注释2)可以作为开发环境使用。

提起下: 微控制器 标签: 阿杜伊诺, 瑞萨电子公司

微控制器顶级对话于2019年5月在EDABoard.com上

2019年6月2日 通过 艾米·卡尔诺斯卡斯(Aimee Kalnoskas) 发表评论

EDABoard.com工程社区有关微控制器的点对点,工程师对工程师的问题和答案。点击“Read more”链接并跟随整个对话,也许可以通过登录到来添加您的2美分 EDAboard.com.

Arduino的的智慧农业 –我有一棵树,我想从地表直到1米深的地方感测土壤湿度。我在这里找到了:土壤水分传感器 //learn.sparkfun.com/tutorials…r-hookup-guide。但是它不能达到1米的深度。有什么办法吗? 阅读更多

解决噪音问题 –我使用ATMega 8(INT1)上的外部中断引脚执行操作,但是电路中有一个继电器和电机可以激活中断并执行操作。我使用了开关防抖功能,但没有成功,该如何解决? 阅读更多

使用PIC16f877a的变频器的PID控制 –我必须使用PID控制器控制转换器电压。我在用 PIC16f877a 用于编程PID回路。有人可以通过提供代码帮助我吗? 阅读更多

PIC16F18856上ADC引脚的输入阻抗 –关于ADC引脚 PIC16F18856,ADC PIN的最大输入阻抗为10k。但是,假设我有100k进入ADC引脚,但ADC引脚上有一个470n电容器……在那种情况下,您是否同意只要470n电容器电压的ADC采样率不是太高,那么100k好吗 阅读更多

ARM处理器中的最大内部ADC CLK – I’我设计了一个简单的示波器。出于成本考虑,我更喜欢将基于ARM的微控制器与内部ADC配合使用。我需要一个具有48 MSPS采样频率的单通道ADC。是否有合适的基于ARM的微控制器可以满足此要求?换句话说,是否有一个基于ARM的微控制器具有一个内部48 MSPS ADC? 阅读更多

S25FL128S单字节写入不起作用 – I’m using S25FL128S 赛普拉斯的闪存芯片并在该单字节编程中不起作用。只有该部门正在运作。部门写工作流程。扇区大小为4096。 阅读更多

能够’t取得的数字不是‘zero’ –在xc8(v2.0)中的Proteus 4位7段显示器中模拟时,计数不会增加。在启动时,每4个数字段中的每个段仅获得0,几秒钟后所有结果都变为8 8 8 8并再次变为0000。问题是什么? 阅读更多

微控制器2019年5月

需要DAC简单可修改的例子 –我必须测试一个包含以下内容的电路板 STM32f429zg 核心,我想要一个简单的示例来配置和设置值(无论是直流还是正弦信号)。我在这里是新手,Cube示例或其他来源没有’无法正常工作。而且,我不能’在代码中找不到任何部分可以让我修改DAC输出。 阅读更多

远程编程,回读和默认程序设置 –我的任务是对RF发送器的频率选择位进行远程编程。发送器提供一个16位选择引脚接口。我通过使用一些通用数字IC制造串行到并行位转换器电路来完成此任务。我发送一个16位频率选择命令以及一个时钟并启用脉冲。这样很好。但是我的主管要求在此项目中添加更多功能。 阅读更多

带有7段的RTC显示秒 –我试图从中提取后显示时间(仅几秒钟) rtc-ds3231,代码和标头以xc8格式编写,用于16f877a和Proteus。对于所有头文件,这在16/2 LCD上运行良好,但是问题是-它无法以7段显示。为什么会这样? 阅读更多

提起下: 16-bit, 8-bit, 精选, 微控制器, 产品展示 标签: 阿杜伊诺, 赛普拉斯半导体公司, edaboardcom

Arduino的 物联网云的新蜂窝连接服务

五月23,2019 通过 艾米·卡尔诺斯卡斯(Aimee Kalnoskas) 发表评论

物联网的ArduinoArduino的已推出Arduino SIM,这是一种仅用于基于Arduino平台的IoT设备的仅SIM卡服务,旨在为开发人员和制造商提供来自100多个国家的Arduino 物联网云平台的蜂窝访问,并提供单一数据计划和具有竞争力的价格。

Arduino的 SIM旨在在成千上万熟悉的环境中提供最简单的蜂窝物联网设备开发路径。 Arm Pelion连接管理提供的蜂窝服务意味着一个物理Arduino SIM可以通过一个简单的数据计划在全球100多个国家使用。 Arduino的 SIM数据计划最初在美国启动,并将于2019年夏季在欧洲和亚洲上市。

Arduino的 SIM与Arduino 物联网云完全集成,正在继续Arduino的使命,使IoT技术民主化,使蜂窝IoT可以从今天已经使用Arduino的各个领域的制造商到专业人士使用,包括教育,农业,工业,零售等。用户可以使用Webhooks轻松地将传感器数据发送到数据库,电子表格或警报,而无需任何编码,也可以使用API​​创建自定义的IoT应用程序。

Arduino的 SIM最初推出时是对Arduino MKR GSM 1400(具有2G后备功能的3G)的支持,这是一个32位Arduino板,通过板载安全元件和加密加速器支持TLS和基于X.509证书的身份验证。 Arduino的 物联网云使任何人都可以安全地连接到这些板而无需任何编码,但是仍然可以使用开源库和传统的Arduino IDE对其进行编程。已经制定了支持即将推出的Arduino MKR NB 1500(LTE Cat-M和NB-IoT)的路线图,并计划在以后向第三方蜂窝板开放。

Arduino的 SIM为蜂窝物联网开发提供了一条简化的途径,可在90天之内免费提供10 MB数据,并提供5 MB的简单订阅选项,每月收费1.50美元。一个简单的计划可以在世界上任何地方以相同的价格提供相同数量的数据流量。通过与Arm Pelion连接管理合作,蜂窝服务为计划将来扩展到大量设备的用户奠定了坚实的基础。
”

提起下: 应用领域, 物联网, 微控制器, 单板计算机 标签: 阿杜伊诺

电池供电设计的注意事项

三月26,2019 通过 琳内特·里斯(Lynnette Reese) 2条留言

你怎样才能使你的简历 真 站出来?数十年来,这一直是书籍,文章,课堂作业和博客的主题。有一天在谈话中出现了,我的一个朋友有一个独特的故事。我将其包含在下面,并进行了一些修改。

“关于这个主题的文章太多了,有一份简历在三十五年后仍然留在我身边。在1980年代中期,我曾为组件制造商担任电子技术员。该部门有一个扩大和聘用第二名技术员的空缺。在进入互联网之前,通常将工作放在报纸上的“招聘广告”中,而应聘者则通过美国的邮件邮寄简历和求职信。在所有的信件中,我的上司收到了一个与鞋盒大小差不多的包裹。盒子内部是一台设备,其外壳上有一个字母数字LED显示屏,并提供了有关如何插入和打开设备的书面说明。按照说明进行操作后,红色的LED显示屏点亮,并开始滚动申请人的求职信,并以连续循环的方式恢复,我至今还记得。

申请人当时在富兰克林计算机公司工作。富兰克林计算机公司以袖珍字典,拼写检查器甚至电子圣经而闻名。在1980年代中期,他们试图销售Apple IIe克隆。1 与当今类似设备的便捷可用性不同,申请人可以通过其雇主访问资源,因此他可以将简历编程并刻录到当时的非易失性存储芯片上,并可以对单片机(MCU)进行编程以显示该简历。除了引起我们的注意,它还展示了他的技能和使用自定义设备与他人进行对比的能力。他得到了工作。

最近,一个客户想要一个Arduino设计,该设计可以在暗箱中保持休眠状态长达20天,然后通过邮件发送。收件人打开盒子时,一条自定义消息将在1.3英寸的OLED显示屏上滚动。我接受了这个项目。一位年轻的网页设计师希望自己的简历在竞争中脱颖而出。他计划购买低成本的Arduino, OLED显示器,将它们组装到自定义程序包中,然后邮寄给他将要申请的公司的招聘经理。客户知道他的要求在技术上是可行的,但没有执行该技能的技能。我很高兴接受这份工作,并创建了35年前见过的电子简历显示的烤箱版本。

使用可用的开源库,让Arduino在OLED显示屏上滚动消息相对容易。需要一些自定义程序来使文本按要求逐字显示。通过使用简化了Arduino和所选OLED显示器之间的接线 两线制2C接口。仅需在Arduino外部的分压器中使用光敏电阻(光敏电阻)来检测盒子何时打开 打断。 但是20天的电量需求又如何呢?仅用7天就可以完成整个项目,我如何保证完成设计的电池选择可以使用20天?经过仔细的设计考虑,阅读规格和实际测量,可交付的设计远远超出了20天的要求。该设计随后通过实际测试进行了验证。”

电池供电的设计
图1:OLED显示屏显示设置说明。 (来源:作者)

淘汰USB,转而使用FTDI芯片

在Arduino微控制器板上进行开发的最大优势之一是,可以轻松地使用Arduino的集成开发环境(IDE)编写代码,然后使用通用的标准A到Micro-B USB电缆将其下载到Arduino板上。但是,就像其他所有内容一样,便利性是有代价的。具有板载USB支持的Arduino将消耗额外的电源,即使它们没有通过USB为Arduino供电。在Arduino UNO板上,USB支持需要额外的15mA电流。 15毫安看起来可能并不多,但可能会严重影响整个设计(如上述)的能力,持续20天。

另一方面,可以使用 FTDI电缆. FTDI是一家公司 几年来一直在生产USB到串行转换器。 (自购买以来,仅购买正版FTDI产品非常重要 仿冒筹码可能无效 一根真正的FTDI电缆大约需要二十美元。 FTDI电缆本身具有嵌入式芯片,可将计算机侧(主机)USB信号转换为Arduino上的晶体管-晶体管逻辑(TTL)串行信号。当USB电路从Arduino移动到板载FTDI电缆时,使用电池供电的Arduino不会消耗额外的功率。支持FTDI编程的一种此类Arduino是 Arduino的 Pro迷你版。  Arduino Pro Mini 328和Arduino Pro 328分别有两个版本。两者都提供了以8MHz运行的3.3V或以16MHz运行的5V的选择。那么,您如何评估此设计的最佳选择?

 

图2:这种USB-to-TTL串行电缆是可用的众多FTDI电缆之一,通常与Arduino板一起使用,并且在USB侧的半透明盒中嵌入了FTDI FT232RL USB-to-serial芯片。 (资源: Adafruit.com)

根据电压等级选择:5Vdc还是3.3Vdc?

大多数设计为在Arduino板上运行的微控制器通常具有5Vdc或3.3Vdc逻辑电平版本。 5Vdc逻辑电平来自可追溯到1970年代的TTL串行技术的传统Vcc电平。 5伏逻辑电平来自于半导体工艺和当时的性能特征。因此,围绕这些逻辑级别设计了许多外围组件,例如传感器和驱动器。 5Vdc逻辑电平设备在早期仍是电子产品的全部功能残余。

半导体处理技术的进步允许将较低的电压电平高至3.3v,其中3.3v成为逻辑位“ 1”,而不是5v。与逻辑电平1的3.3伏电平相比,使用5伏的blip记录逻辑电平1消耗的能量更多。(接近零电压电平将二者都注册为逻辑电平0。)因此,CMOS技术为TTL在较低电压下执行相同的功能。较低的电压电平等于较低的功耗。较低的功耗等于更长的电池寿命。如果没有任何特定的功率计算,则选择支持3.3Vdc逻辑的Arduino是更好的选择。 (半导体工艺技术使电压供应水平更低,从而节省了更多功率,但是Arduino不支持低于3.3v的电压水平。)

选择8MHz还是16MHz?

半导体开发的驱动目标是越来越快的处理器速度。除了成本之外,似乎很少有设计师会选择较慢的处理器速度而不是更快的处理器速度。但是,请记住,处理器速度越快,处理器散发的热量就越大。因此,最新的计算机将在处理器芯片的顶部直接安装一个巨大的风扇冷却散热器。退后一步,看看前面提到的OLED显示设计,该设计中的任何内容都不需要Arduino Pro或Mini Pro提供的最高16MHz时钟速度。如果使用8 MHz时钟而不是16 MHz时钟来检测盒子的打开,则差异仅十亿分之一秒,这对于用户而言是难以理解的。 OLED显示屏上显示的单词一次在数百毫秒的范围内。通过选择16MHz上的8MHz较低的时钟速度,性能不会降低,并且MCU消耗的功率更少。

功耗评估

选择我们的Arduino和OLED显示器后,我们确定电池可持续使用20天的起点是什么?尽管我们可以继续阅读有关组件的文档,但是没有替代品可以使用毫安表来测量电路的电流消耗。使用万用表的毫安设置并根据需要连接探针,我们可以看到我们为Arduino和OLED显示器绘制了约15mA的电流。那么,我们需要持续20天才能使用多少尺寸和多少电池?要计算此值,我们需要查看每种类型的电池可以提供的“毫安小时”。

图3:数字万用表显示的电流消耗几乎为15 嘛。 (来源:作者)

电池mAh容量(按类型)

虽然环境温度和电流消耗会影响电池寿命,但对于下表1中的每种碱性电池,使用“毫安小时”(mAh)额定值更为简单。请注意,由于mAh是指电池可以提供的电流量,因此串联连接电池以达到所需的输出电压不会增加mAh。一节AA电池可提供1.5Vdc的电压,持续2400 嘛小时。三个串联的AA将为2400 嘛小时提供4.5Vdc的电压。您必须并联连接电池以扩展容量(以毫安小时为单位)。

表12

使用以下公式计算每种电池类型持续使用的天数:

天数=(容量(毫安时) / 15嘛)x 1天/ 24小时

电池供电的设计

 

您可以使用6伏灯笼型电池或D系列电池获得最长的电池寿命。两个D电池可提供3伏电压。但是,这会使电源处于所选3.3V Arduino的的低端范围。虽然最初可以正常工作,但在超出3.3V Arduino的的范围之前,电池只需要消耗几百毫伏。因此,最好使用三节1.5伏电池,这样在电源开始进入有问题的范围之前,电池可以消耗33%的电量。

Arduino的深度睡眠模式

以上从技术上讲是一种解决方案,但是灯笼和三个D电池很笨重。如果电池过大是一个问题,那么您需要考虑通过实施以下方法来减少系统的电流消耗: “深度睡眠模式” Arduino的微控制器。在深度睡眠模式下,处理器将暂停,直到连接至光传感器的外部中断“唤醒” Arduino的并恢复程序。由于处理器未运行,因此仅使用少量电流来监视外部中断。实施深度睡眠模式后,电源电流为1.9mA。

图4:深度睡眠模式下消耗约1.9 嘛电流

现在,您有更多选择来满足20天的需求,如表3所示。

表3:电池类型和容量与1.9mA“深度睡眠模式”绘图的比较,以运行MCU。

虽然AAA电池满足20天的需求,但AA电池是一个更好的选择,其使用寿命比20天的需求多两倍,并且占用的空间不会比AAA电池多很多。 AA电池远小于C,D或灯笼电池选择。

OLED睡眠模式

尽管OLED显示器具有睡眠模式,但在此用例中不值得实现。当Arduino处于睡眠模式时,可以将OLED设置为关闭所有LED。显示器处于关闭状态的背光LED会降低OLED消耗的电流,但驱动器芯片可能会以全功率运行,尽管功率很低。实施OLED睡眠模式可能会使1.9mA的电路电流降至1mA以下,从而使人们更有信心选择AAA电池,但考虑到该项目的范围是AA电池,较高的成本值得节省时间和精力。一次性的鞋盒消息传递系统。如果您要构建成百上千的此类设备,那么花时间设计OLED驱动器的较低电流消耗也是值得的。但是,对于十几个鞋盒消息传递系统,这是不值得的。关于什么是“足够好的”来平衡成本,进度和规格的判断,都是好的工程的一部分。

 

¹ Franklin Computer was sued by Apple in a landmark case that established that compiled software code and computer operating systems are copyright protected. This forced Franklin Computer out of the desktop computer market. This loss for Franklin Computer is probably why the technician was looking for another job in the mid-1980s. Ref: //en.wikipedia.org/wiki/Apple_Computer,_Inc._v._Franklin_Computer_Corp

提起下: 常问问题, 精选, 微控制器 标签: 水果, 阿杜伊诺, 常问问题, ftdichip

2019年2月在EDABoard.com论坛上的微处理器热门话题

三月4,2019 通过 艾米·卡尔诺斯卡斯(Aimee Kalnoskas) 发表评论

EDABoard.com工程社区有关微控制器的点对点,工程师对工程师的问题和答案。点击“Read more”链接并跟随整个对话,也许可以通过登录到来添加您的2美分 EDAboard.com.

嵌入式项目需要设备在+125°C的温度下连续工作 –嵌入式项目需要能够在+125摄氏度下连续工作的设备。除其他无源设备(如电容器,电阻器)外,我计划使用这些设备。

1N4007 Vishay品牌
PIC18LF46K22– Microchip
LM1086-3.3
LM1086-ADJ
ADG726
MAX31855KASA
发光二极管
P65SMT101开关
7段显示共阴红色(2位,尚未确定)
ESP8266-12E
8x K型热电偶探头,最大探头长度为1.75 mtr
Xbee或LoRa

该设备需要一次将8倍热电偶数据(基于BCD开关的定时器设置,一次为数分钟,另一次为数秒)发送到PC,以通过LoRa进行记录。我想知道以上设备是否可以在+125摄氏度下连续工作。 阅读更多

多个外部数据闪存连接到MCU –在所附的图像中,绿色块是 ATMEGA644 蓝色是 AT45DB081 闪。它们使用MCU的ISP连接。如何将第二个相同的闪光灯连接到ISP(可能还有其他设备),并能够使用跳线开关选择每个闪光灯? 阅读更多

计算负载电阻 –我正在构建电动机保护继电器的应用程序。我正在使用Arduino开发板作为接口。我对理解CT计算的概念是陌生的。我没有’t计算涉及负载电阻和负载VA。我已附上打算用于应用程序的CT图像&类似地,用于该应用的应用电路。 Burden VA如何计算? 阅读更多

与光互连相关的存储技术 –我想知道在存储技术方面什么是光学互连。另外,如果有人可以在计算机体系结构方面帮助我解决这些问题–光学RAM单元和光学高速缓存。 阅读更多

CLT1310079B和 PIC16F1947 相同的MCU? –我希望任何人都可以向我证实这一点。一世’m目前正在研究电路板,使用的芯片是CLT1310079B。我试图查找其数据表,但Google始终向我显示PIC16F1947数据表。 阅读更多

8051微控制器,LCD和4位小数位数的增量 –在Keil 89s52微控制器中,
我想4位显示16 * 2 LCD,我想将0000增加到1000.我该怎么办? 阅读更多

AVR:使用中断的SPI – I’m全新的SPI协议。我今天写了我的第一个代码。它使用了这两个教程中的轮询方法。第一链接还具有基于中断的代码。但它’不起作用。谁能建议我如何正确编写此代码?我不’没有两个Arduino,所以我’使用Proteus来模拟ATMega168的代码。 阅读更多

PIC控制器挂在电路中 –(请参考下面的图像文件)PORTC和PORTD通过470R电阻器与7 SEGMENT(CC)显示器相连,另外两个引脚用于驱动TRIAC(原理图中未显示)。我的概念是,当开关S5和S6接通时,意味着LED必须发光并且低状态被赋予pic控制器。但是两个LED始终处于ON状态,无需操作开关。 阅读更多

模拟端口上的I2C传感器连接 –在模拟端口上连接dht11湿度传感器是否有任何问题,但是它使用I2C。 阅读更多

选择背板总线收发器 –三年多来,我们的团队为当前的项目开发了多个控制板。几乎不做任何修改,到目前为止,我们已经在多个项目中使用了该板。其结构如下。 阅读更多

提起下: 精选, 微控制器 标签: 阿德斯托技术公司, 阿杜伊诺, edaboardcom, 微芯片技术公司

基于Arduino的物联网平台加快了物联网开发

2019年2月6日 通过 艾米·卡尔诺斯卡斯(Aimee Kalnoskas) 发表评论

Arduino的宣布推出 物联网云 作为其专业物联网战略的一部分。面向开发人员,系统集成商和制造者爱好者,Arduino 物联网云是易于使用的物联网应用程序平台,使用户能够开发和管理可解决商业环境或日常生活中实际问题的IoT应用程序。这个新平台的推出基于Arduino的使命,即使复杂的技术足够简单,任何人都可以使用。

便利性和灵活性是Arduino 物联网云的关键考虑因素。一个主要的好处是它能够对Arduino板进行编程,而以前的用户需要通过Arduino Sketch对其进行编程。设置新事物时,Arduino 物联网云将快速自动生成草图,从而使开发人员在拆开电路板装箱后的五分钟之内即可获得可用的设备。 Arduino的 物联网云还允许其他交互方式,包括HTTP REST API,MQTT,命令行工具,JavaScript和WebSockets。

 

阿杜伊诺

 

Arduino的的首席技术官兼联合创始人Massimo Banzi评论道:“ Arduino的现在提供了MKR系列的完整平台,为创建本地IoT节点和边缘设备提供了一种简化的方法。它们使用一系列连接选项,并与第三方硬件,网关和云系统兼容。 Arduino的 物联网云不仅允许用户管理,配置和连接Arduino硬件,而且还可以管理,配置和连接绝大多数基于Linux的设备,从而使IoT开发真正民主化。”

MKR外形设计用于无缝物联网开发,以紧凑的尺寸提供嵌入式连接性和极低的功耗。这些功能使这些板成为新兴的电池供电的物联网边缘应用的最合适解决方案,例如环境监测,跟踪,农业,能源监测和工业自动化。

为了强调Arduino 物联网云在实际解决方案中如何与MKR系列协同工作,Banzi举了一个农业示例,其中低功耗和替代连接选项至关重要:“假设我们要建立一个IoT温室,目标是就是要远程控制该温室,即能够打开和关闭灯,启动灌溉系统以及读取和调节温室内的温度,而无需人工干预。完整的系统可以使用Arduino MKR WIFI 1010开发板以及Arduino 物联网云进行自动化和控制。

“只需将相关的传感器(例如温度,光线和湿度传感器),执行器(例如灌溉泵)和开关(灯和风扇)连接到板上。上传软件(Arduino Sketch),它会在几分钟内准备就绪,可以通过简单的Web界面自动控制执行器的属性(例如,当温室中的湿度过大时激活通风风扇)。

“属性存储在Arduino 物联网云中,可以从那里进行远程更改,而无需访问温室。一旦一切就绪,系统将等待事件并根据需要对事件做出反应-完美控制温室内的环境。甚至有可能使这一自动化措施更进一步,因为我们已经看到了一种基于Arduino开发的解决方案,可以建立并指示何时将水果完全成熟以在商业农场收获。”

还有一种使用webhook的方法来让Arduino Things与IFTT,Google Spreadsheet和Zapier等其他服务进行交互。

去 //create.arduino.cc/iot 去下载。

提起下: 应用领域, 物联网, 微控制器, 工具类 标签: 阿杜伊诺

了解I / O的延迟:使用Arduino功能与对MCU进行编码

2019年2月4日 通过 斯科特·桑顿 2条留言

有时使用 Arduino的 至少从严格的工程角度来看,电路板开始与您期望的性能发生冲突。使用Arduino集成开发环境(IDE)进行开发时,您需要了解一些知识,以了解处理延迟,功能以及如何使用传统的微控制器(MCU)编码技术来克服这些延迟,功能。

Arduino的库具有大量开销,旨在保护电路板免受电子新手的伤害。

例如,读取或写入图钉所需的时间比大多数新开发人员意识到的要长得多。在大多数情况下,这不会造成问题,但是对于一个时间紧迫的项目,例如精确的步进控制或数据采集,它 能够 是一个问题。一种解决方法或另一种操作MCU寄存器的方法是使用C或汇编语言。

为什么选择Arduino?

Arduino的开发板和Arduino IDE用途广泛,因此可用于各种应用程序。在教育中,它们为学生提供了一种低成本的物理“面包板”,以测试传感器的输入,对这些输入进行操作,然后创建输出以在物理世界中产生动作。工程设计的传统路径可能需要学生理解 ATmega328P微处理器的整个662页数据表(PDF) 仅用于微处理器本身。但是,Arduino平台允许学生前进,这样他们就可以快速享受编码练习的物理结果。

在艺术和嗜好世界中,Arduino使用户无需花费数年时间研究电子产品,学习如何旋转印刷电路板(PCB)或微小的表面贴装焊料即可控制电子设备 贴片 组件。 Arduino的的目标是产生与PCB设计细节专家完全无关的最终结果。 Arduino的平台(硬件和软件)允许用户绕过许多繁琐的步骤,并立即获得他们所需的结果,而无需花费ARM或腿。

对于工程师来说,Arduinos提供了一个有文档的,现成的原型制作平台,主要是因为它的低成本而可以广泛使用。在某些情况下,工程师将Arduino平台用作定制设计的原型或概念验证。对于较小的生产量或一次性设计,在最终设计中使用Arduino本身可能更经济。

从某种意义上说,使用Arduino的便利性开始与预期的性能产生冲突。至少从严格的工程角度来看。为了使人们有效地使用Arduino微处理器变体,他们需要对Arduino IDE,功能和开发环境有更深入的了解。

Arduino的和微控制器引脚映射

要开始上述解决方法,用户首先需要了解MCU引脚如何映射到Arduino引脚。图1显示了Arduino引脚与ATMega328p MCU端口,寄存器和引脚位置的关系。如果您只担心使用Arduino IDE功能,则只需担心Arduino引脚号。但是,如果您要使用相应的微控制器的引脚号进行编程,则需要从一个到另一个进行转换。

例如,使用Arduino函数向引脚8写入将为“ digitalWrite(8,HIGH)”。但是,通过 直接编码到微控制器, 您将设置PORT B寄存器(PB0)的位0。显然,从MCU的角度来看,Arduino引脚8实际上是端口B上的零位。 (图1).

Arduino的
图1:Arduino UNO Rev 3引脚映射(图片:Bouni,Arduino.cc)

使用Arduino安装的MCU的数字I / O(不使用Arduino IDE功能)

最常见的Arduino设计中使用的微处理器是AVR类型的。 (AVR曾经是Atmel产品,但现在归Microchip Technology,Inc.所有。)。运行速度更高或外围设备更复杂的Arduino将使用ARM型微处理器。

Arduino的 UNO Rev 3装有ATmega328P。通用输入输出(GPIO)引脚由三个微处理器寄存器控制: DDxn,PORTxn和PINxn.

  • DDRx寄存器中的DDxn选择 方向 的针脚。 (方向意思是“是输入还是输出?”)。
  • 当PORTxn用作输入时,它会选择内部上拉电阻。

因此,设置微控制器引脚只需要在微控制器代码的初始化中插入几个步骤即可:

  1. 将引脚设置为输入或输出。
  2. 如果设置为输入,请启用或禁用内部上拉电阻。

从那里开始,读取输入/输出(IO)引脚的值仅是读取MCU引脚状态寄存器中某个位的值即可。写入引脚仅是设置或清除引脚中的值的问题。 状态寄存器。在软件中设置较高的值会在MCU的外部引脚上产生相应的较高的值。 (HIGH GPIO输出的电压取决于Arduino使用的逻辑电平,通常为5Vdc或3.3Vdc。)像这样的软件指令将在短短几个指令周期内导致微处理器引脚上的物理电压发生变化。尽管您可以直接用C语言编写这些寄存器指令,但是像Arduino IDE这样的现代编译器将为您提供相同的快速指令周期结果。

在典型的微处理器设计中,工程师花费一次查找寄存器值,然后编码为寄存器值所花费的时间非常值得进行性能改进。实际上,传统的,在Arduino之前的微处理器开发使工程师无需考虑Arduino环境带来的额外复杂性就可以做到这一点,与简单,快速的可执行代码相比,它更倾向于代码的可移植性和安全性。

使用Arduino功能的数字I / O

对于Arduino IDE设计,在“设置”编码块中放置了两个步骤:

  • 在设置过程中设置引脚模式。
  • 如果该引脚用作输入,则启用或禁用内部上拉电阻。

从那里,使用digitalRead或digitalWrite命令读取或写入外部引脚值。可以在Setup块中完成此操作以获取或设置初始值,但更典型的是,这些函数在 循环 直接或通过循环中的另一个功能或中断服务程序来阻止。

Arduino的的 设置和循环块 就像基于微处理器的设计方法一样。原则上,这是对新开发人员的良好培训,使他们了解您需要遵循相同的过程。但是,在不了解Arduino IDE功能的基础代码的情况下,新开发人员也可能误入歧途。

digitalRead

将digitalRead与传统的嵌入式微控制器解决方案进行比较,在传统的嵌入式微控制器解决方案中,可以通过读取相应寄存器的位值来读取I / O引脚。但是,Arduino IDE的digitalRead函数如下所示 (图2):

图2:Arduino IDE的digitalRead()函数类似于上面的代码。 (来源:作者)

图2中的脚本为每个digitalRead调用创建了额外的开销:

  • uint8_t 计时器= digitalPinToTimer(pin);

当您将MCU直接用于项目的选定Arduino变体时,查找与特定引脚一起使用的内部计时器。如果将脉冲宽度调制(PWM)用于指定的引脚,则使用该计时器(请参见上面的项目符号)。但是在这种情况下,我们正在执行 数字读针。不涉及PWM,但是标准的Arduino IDE调用无论如何都要查找该值。

  • uint8_t 位= digitalPinToBitMask(pin);

上面的语句对与所需I / O引脚相对应的端口寄存器位置进行了查找。尽管您确实需要了解端口寄存器的位置,但在后续读取之间该值不会改变。因此,该值可以在设置中定义,并且只能在程序执行期间调用。查找每个数字读取的效率很低。

  • uint8_t 端口= digitalPinToPort(pin);

上面执行了与引脚相连的MCU端口的查找。同样,尽管您需要知道这一点,但在后续的数字读取调用之间不会改变。因此,该值可以在安装程序中定义并在程序执行期间调用。

  • 如果(端口== NOT_A_PIN)返回LOW;

检查“数字引脚至端口”值的结果是否为可用于所选Arduino MCU变体的实际引脚。在后续的数字阅读通话之间,这一点不会改变。在典型的MCU设计中, 使用未定义的引脚是一个错误 这将创建一些更高级别的调试,但是这种编码冗余并不常见。但是,如果发生此未定义的引脚错误,则在Arduino IDE中使用冗余会阻止程序完全锁定,但会导致处理时间损失巨大。

  • if(定时器!= NOT_ON_TIMER)turnOffPWM(定时器);

尽管试图获取数字读数,但该行仍禁用了用于输出功能的PWM定时器。虽然是 技术上 在嵌入式程序中间可能将引脚模式从输入更改为输出,这不是典型的情况。在嵌入式系统中,I / O引脚的用途已定义并保持这种方式。如果设计用完了引脚....那么 其他选项,例如使用可用的通讯总线 将需要探索。

  • 如果(* portInputRegister(port)& bit) return HIGH;

返回低;

上面的代码行读取相关的GPIO引脚,并向程序返回相应的HIGH或LOW值。

Arduino的函数中包含的所有额外调用都过于安全,但要付出50至100个额外的指令周期,而不是仅读取要知道其状态的GPIO引脚的相应位。 Arduino的函数确实具有灵活性和可移植性的优点,但是却以高效,快速执行代码为代价。

digitalWrite

数字写入具有与数字读取相同的所有过度安全但效率低下的调用,但是数字写入效率更高。

图3:digitalWrite()函数。 (来源:作者)

检查图3中的每个语句:

  • volatile uint8_t *输出;

out = portOutputRegister(端口);

每次调用digitalWrite时都会创建一个临时变量“ out”。这可能是在MCU初始化期间创建一次的全局变量。

  • uint8_t oldSREG = SREG;

cli();

SREG = oldSREG;

此代码段保存了微控制器的状态寄存器,其中包含中断允许状态标志。然后使用‘cli()’。禁用 所有 如果将数据写到引脚时中断,则可能会阻止竞争状态 也 用作外部中断输入,但是这种情况很少见,可以通过在更典型的微处理器编码解决方案中进行仔细编码来解决。无论如何,仅有限数量的引脚可用于Arduino上的外部中断(例如,Arduino UNO的引脚2和3)。

  • if(val == LOW){*输出&=〜bit;}其他{* out | = bit};

上面的IF-ELSE语句至少增加了十二个指令周期。通常,代码中的其他逻辑将确定应在引脚上输出高电平还是低电平。对于响应速度更快的代码,只需在此时直接执行位操作即可(&= |= ).

 

结论

根据Arduino的预期用途,Arduino IDE功能可能足以满足用户避免所有高级编码的需要……。只是为了获得所需的最终结果。代码在数十种不同的Arduino板上的可移植性只是Arduino IDE功能的一项优势。另一方面,不应将Arduino视为“爱好级”设备,因为在商业和工业设计中都使用了相同的MCU。对填充Arduino的MCU进行编程可以像对定制设计的原型进行编程一样高效,特别是如果尚未从硬件团队获得定制设计的原型。

提起下: 常问问题, 精选, 微控制器 标签: 阿杜伊诺, 常问问题

  • 转到页面 1
  • 转到页面 2
  • 转到页面 3
  • 去 下一页»

主侧边栏

快速设计

组件选择变得简单。

今天尝试
设计快速的globle

EE培训中心教室

“ee

“ee

“ee

“ee

订阅我们的新闻

订阅每周行业新闻,新产品创新等等。

立即订阅

的RSS 当前的EDABoard.com讨论

  • 串联vs分流欧姆表
  • 我需要测试调频发射机的帮助,"pll发射器rdvv300"
  • 电源设计
  • 555 ir2110 mosfet开关
  • 方波关闭期间的ADC转换

的RSS 当前Electro-Tech-Online.com讨论

  • 关于简单的转接电路的问题
  • Tacho反馈到555 pwm电动机速度控制
  • 英寸和英尺。
  • 号码细目
  • pcb中的自动chang参数

在推特上关注我们

MicroContrlTips的推文

页脚

单片机技巧

EE World在线网络

  • 快速设计
  • EE World在线
  • EDA董事会论坛
  • 电子技术在线论坛
  • 连接器提示
  • 模拟IC技巧
  • 电力电子提示
  • 传感器提示
  • 测试和测量技巧
  • 电线电缆技巧
  • 5G技术世界

单片机技巧

  • 订阅我们的新闻
  • 与我们一起做广告
  • 联系我们
  • 关于我们
在推特上关注我们在Facebook上添加我们在YouTube上关注我们 在Instagram上关注我们

版权© 2020 ·WTWH Media LLC及其许可方。版权所有。
未经WTWH Media事先书面许可,不得复制,分发,传播,缓存或以其他方式使用本网站上的资料。

隐私政策

<map id="qFfv0gb" class="qgHOsA5"></map>

  1. <option class="wfE9sVy"></option>



    • <s id="moNkGuF"></s>


      <output id="YRyrNK0" class="Yf8xJKc"><address class="juVBBbN"><ul id="Rdn8u4D" class="RM5ouPY"></ul></address></output><source id="VKVxKM0" class="VgIQwkm"><sub class="yOX1JY2"><dl id="RJZXUPY" class="Rq640YS"><tt id="RkT2ilY"></tt></dl></sub></source>





        1. <blockquote class="fViiLqz"></blockquote>