
武汉中科院岩土力学所智能仪器室对基于ARM9的嵌入式系统进行二次开发,高速微处理器与现有低速设备接口及在配套的 *** 作系统中就SY5声波检测仪原有功能设计相应驱动是本文研究的重点。同时提出了可行的硬件调试方法,为今后基于ARM9微处理器的硬件开发提供了思路。
1 系统构成
1.1 高性能的ARM9嵌入式微处理器
本设计选择Cirrus Logic公司2004年7月推出的EP93XX系列中的高端产品EP9315。该微处理器是高度集成的片上系统处理器,拥有先进的200MHz ARM920T处理器并支持Linux、WindowsCE和其他许多嵌入式 *** 作系统的存储器管理单元(MMU)。它具有ARM920T内核所有的优异性能。与其他ARM9微处理器相比,EP9315具有以下特性:MaverickCrunchTM数学运算引擎,支持浮点、整数和信号处理指令;丰富的集成外设接口,包括PCMCIA、接口图形加速、可接两组设备的EIDE、1/10/100Mbps以太网MAC、3个2.0全速HOST USB、专用SDRAM通道的LCD接口、触摸屏接口、SPI串行外设接口、AC97接口、6通道I2S接口、8×8键盘扫描接口;支持4组32位SDRAM的无缝连接等。
配合Windows CE.net嵌入式 *** 作系统,系统开发效率高、运行稳定,为工业控制提供了可靠的系统平台。基于定制的WinCE *** 作系统实现工业控制中应用模块的专用驱动,提高了嵌入式系统的通用性。
1.2 系统主体结构

EP935嵌入式系统主要由电源、32MB/64MB内存、LCD接口、警示LED、主USB、面板按键、CF卡接口、以太网接口和标准PC104接口组成。其中电源提供5V、3.3V、1.8V三种电压输出,分别给应用模块、外设、CPU内核供电。内存为 *** 作系统提供运行空间。其中嵌入式系统与应用模块的I/O控制信号、数据线和地址线都引到标准PC104插座上,经转换模块处理后相接。采用PC104总线标准实现了嵌入式系统的各种应用目标。液晶显示屏用于人机交互,警示LED直观地显示电源状况。主USB支持U盘和USB鼠标键盘,CF卡作为大容量存储器存放应用模块的数据,用户通过面板按键实现对整个系统的控制。
1.3 嵌入式系统板与应用模块的连接方案
系统外接的应用模块(SY5声波检测仪)采用51系列单片机控制数字模拟电路实现特殊功能。整个数字电路部分均为5V供电,模拟部分由5V及正负12V供电,采样数据通过RS232串口传给上位机进行数据处理。而EP9315、I/O口及外围电路均为3.3V供电,管脚承受的最大电压不超过3.6V。
考虑到每个管脚的驱动能力有限,用电平转换驱动芯片74LVXC4245实现电平转换。其作用如下:
(1)改善信号的质量。某些对时延比较敏感、且在系统内又相距较远或者较分散的信号,信号线的寄生电容会损害信号的特性。采用74LVXC4245驱动芯片进行隔离,会改善系统的性能。
(2)抗干扰。增加74LVXC4245这样的有源缓冲器可以有效地减少干扰。
(3)电平转换。3.3V到5V和5V到3.3V双向电平转换。
74LVXC4245是8通道电压转换器,最大可提供200mA的驱动电流。与专用模块接口时,主要实现数据线、地址线、I/O信号、中断信号等的单/双向电平转换。
地址线的电平转换方向设置为3.3V到5V。I/O、中断信号的电平转换方向可设置为单向转换,3.3V到5V或5V到3.3V片选可接地。
数据线是双向信号,电平转换时要特别注意其方向信号和片选信号的设计。设计不合理会造成总线冲突,系统无法启动。数据线电平转换电路如图2所示。

由图2可见,方向信号使用读信号的反向信号#RD,保证读 *** 作时数据线由5V到3.3V,写 *** 作时数据线由3.3V到5V,防止了总线冲突。使能信号OE可接地或接片选信号。
EP9315在WinCE *** 作系统下主频达到200MHz,总线频率为100MHz,外设时钟为50MHz,硬件调试环境必须与 *** 作系统完全吻合。而应用模块多采用74系列芯片,工作频率一般为几兆赫兹。频率不匹配造成了EP9315发出的读写及使能信号脉宽不足50ns,对由74系列芯片组成的专用模块不能实现正确的读写 *** 作。因此,系统的存储空间采用了如图3所示的分配,应用模块地址空间为CS7:0X7000_0000-0X7FFF_FFFF。

为给低速设备提供足够脉宽的总线信号,设置应用模块地址空间存储空间读写特性寄存器SMCBCR7中等待时间位WST1和WST2:
总线读取等待时间=(WST+1)×总线时钟
连续读取等待时间=(WST+1)×总线时钟
调试代码如下:
//总线时钟为200MHz
ClkSet1=0x02A4A3D7;
//设置cs7数据宽度为8,读写脉宽为150ns
temp=SMCBCR7;
temp=temp& 0xcfffffff;
temp=temp | 0xffef;
SMCBCR7=temp;
这种设置使得SDRAM等高速外设和低速外设拥有不同的总线频率,具有很大的灵活性。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)