ARM研发的路漫长而有趣,众人皆知的开发优势和面对问题时的一筹莫展,让人对ARM又爱又恨,而你与ARM又有怎样的情节呢?
目前在工业控制系统中大量应用了嵌入式ARM,如工业过程控制、电力系统、石油化工、数控机床等,ARM嵌入式系统的发展促进了工业控制自动化程度的提高。
AM335x 微处理器为基于ARM Cortex-A8 处理器,在图像、图形处理、外设以及 EtherCAT 和 PROFIBUS等工业接口选项方面得到了增强。800MHz主频的Cortex -A8内核能远强于ARM9,可提供快速的数据处理和流畅的界面切换。
图1 AM335x功能框图
凭借其6路UART、2路CAN-Bus,2路USB OTG、可支持2路以太网接口等强大的通讯功能,以及工业级性能保证,已广泛应用于便携式导航系统、工业自动化、人机界面等多个行业。
随着Cortex-A8处理器的广泛应用,客户群体迅速增加,客户遇到的问题却也是千奇百怪。今天我们就了解下有客户出现的Cortex-A8处理器莫名烧坏现象是怎么回事?
为了发现原因,解决问题,致远研发工程师对烧坏的模块做了大量分析,发现烧坏模块都是电源域烧坏,那又是什么原因导致电源域烧坏呢?
研发人员分析会不会是模块的某些IO口过压或者倒灌电流导致烧坏IO口,情况严重进而烧坏CPU呢?有了分析方向,下一步马上查阅资料,做实验证实。
图2 TI官网M335x数据手册中规定的IO电压范围
图3 Freescale i.MX28系列芯片规定的IO电压范围
为了进一步证实两者的不同,研发人员对模块进行了对比实验,经过了多次测试发现,Freescale ARM9芯片CPU的IO耐压值最高为5V,而TI的Cortex-A8平台M335x系列芯片CPU的IO耐压值仅为3.6V!相信这也是Cortex-A8平台的CPU烧坏的一个重要原因。
那么我们在使用AM335x系列的芯片时又该注意哪些问题呢?
1、IO使用注意事项
GPIO作为输入时,要确保最高电压不可超过3.3V,最低电压不可低于-0.2V。GPIO作为输出时,由于IO的驱动能力有限,单个IO最大输出4mA的电流,所有IO最大不超过50mA,建议驱动LED、光耦、继电器等功率器件时要外加三极管或MOS管。驱动LED、光耦等小功率器件时也可以设计成灌电流输出模式。
使用Cortex-A8 IO时建议添加100R限流电阻,特别是预留的GPIO。
2、电源设计注意事项
核心板的3.3V电源上电后才使能底板的3.3V电源输出,避免核心板上电时底板的3.3V通过IO影响核心板的上电时序,造成核心板无法启动或损坏。
图4 CPU上电时序说明
建议底板电源3.3V使用带有使能端的电源,将使能端连接在核心板的PWR_OK上(PWR_OK连接在核心板3.3V电源上)或使用GPIO做使能控制。且应添加下拉电阻,使该电源上电处于失能状态,避免上电时IO口状态不确定导致系统故障。
3、启动设置注意事项
EMU0 ~ EMU4为启动配置引脚,可作为普通GPIO使用,但上电时这两个引脚应当处于悬空或高阻状态,错误的配置将造成系统无法启动。因此建议设计时不要用作输入脚。
M335x和A335x核心板的lcd_data[0..15]是AM335x处理器的启动项选择引脚,如果这些引脚不使用做lcd数据线的时候,应当注意上电时的状态不能影响处理器的启动且只能用作输出引脚。
GPMC_D[7..0]数据总线已经在内部被NAND Flash使用,外部需要用到GPMC总线时需严格遵守GPMC通信协议,防止影响系统启动。
这三点是系统应用中容易出错的地方,这里重点给大家介绍下,希望在今后的设计中为大家提供参考依据。
ZLG致远电子16年来致力于高端测量与分析仪器、嵌入式工控与物联网等领域的各项技术的研究,踏踏实实做技术,只为能给您提供好的产品和优质的技术服务。
图5 ZLG致远电子工业互联网智能控制方案