基于ARM处理器的 PC/1 04处理器模块的开发
、控制总线可以采用 PHILIPS的LPC2292等带扩展总线ARM处理器的总线 ,也可以采用 LPC2192 ARM 处理器电平转换收发器的P0口、P1口的空闲引脚行模拟。在总线模拟时,由于P0口引脚和扩展功能的复用 ,因很难选用连续的IO引脚,在编写总线驱程序时只能通过CPU的移位指令灵活的处理:
void outportb(unsigned int portAdd ress,unsigned char value)
{
addr=(portAddress1O): //将地址 向右移 1O位
a=(value 21): //利用两次移位,合成一个 8位数据
b=(value23).
a=(a& Ox01eO0000); //屏蔽无关位
b=(b& O×78OOOOOO):
data=(a I b):
}
6_2 串口通讯
串口通讯是工业控制中的一个非常重要的通讯方式 ,原的x86 PC/104处理器模块包含两个带Modem接口的RS23接口,由于在实际应用中很少用到全功能的Modem接口,所在开发中省略RS232接口中的与 Modem通讯握手相关的号 ,包括RTS、DCD、CTS、RI、DTR、DSR六个通讯握手的信号只保留 RXD、T×D、GND三个信号 。在接口上仍旧采用双排针的插座 ,引脚排列也按照 DTE(Digital Terminal Equipmen的标准设置,以达到和原有的 386S×/40的PC/104处理器块的充分兼容。
由于省略了 Modem通讯握手的相关信号 ,使得采用 1TTL/RS232的电平转换芯片 MAX3232实现两个串口的接口成为可能 ,并在实际的使用中得到了验证。
6.3 驱动程序
为了兼容已有的系统减少软件移植的工作量 ,因此在编写底层驱动程序时已充分考虑和 DOS开发环境的底层驱动程序兼容 ,伯比侣如仃在编垤写¨总”线驱动程序时编写了 unsigned char in portb(unsigned int portAddress)和void outportb(unsigned int portAddress.unsigned char value)两个函数: void outportb(unsigned int portAddress,unsigned char value)
{
}:
unsigned char inportb(unsigned int portAddress)
{ll_
}
这样原有在Dos下开发的程序源代码不需要修改 ,只需要在ARM 的开发平台上重新编译一下即可。
7 结束语
采用ARM处理器替代386SX的PC/104处理器模块后 , 首先成本大幅降低 ,该模块在某公司的环形线圈车辆检测器中投用后 ,产品的单位生产成本大幅降低 ,同时也最大限度的利用了以前的开发成果。第二 ,功耗大幅降低 ,CPU模块的功耗从原来8W 降低到现在的1W;第三,程序烧录方便 ,可以通过JTAG口或者串El直接下载程序 ,非常方便。第四,启动速度加快 ,系统启动时间小于0、5秒 ,远小于基于 386SX的 PC/104处理器的 2—4秒 ;第五,执行速度加快 ,全部任务执行完毕的时间从 2ms缩短为 0.5ms,速度提高了约4倍 ;第六 ,开发平台更加友好 ,基于 386SX的PC/104模块的开发在 D0S下进行,开发工具一般用 TURBO C或者 BORLAND C,ARM 开发则采用 WlND0WS 下的 ADS(ARM Developer Suite)进行开发 ,而且可以非常方便地在线跟踪和调试 。
采用LPC2129CPU的PC/104处理器的车辆检测器在国 家“十五”科技攻关lTS专项杭州市智能交通系统示范工程的西湖隧道 、九曜山隧道中成功的投入使用 ,准确 、及时、可靠的采集了隧道的车速 、流量 、车道占有率等道路交通信息 ,取得了良好的社会效益 。
参考文献:
[1].RISCdatasheethttp://www.dzsc.com/datasheet/RISC_1189725.html.
[2].LPC2129datasheethttp://www.dzsc.com/datasheet/LPC2129_454522.html.
[3].TQFPdatasheethttp://www.dzsc.com/datasheet/TQFP_1528902.html.
[4].LPC2292datasheethttp://www.dzsc.com/datasheet/LPC2292_454556.html.
[5].RS232datasheethttp://www.dzsc.com/datasheet/RS232_585128.html.
[6].MAX3232datasheethttp://www.dzsc.com/datasheet/MAX3232_1107769.html.
- 关于对ARM处理器中“8位位图”的理解(12-01)
- ARM处理器工作模式(11-28)
- ARM处理器模式介绍和模式切换(11-28)
- ARM处理器的总线信号(11-27)
- 选择ARM处理器,ARM7还是Cortex-M3(11-27)
- GNU ARM汇编--(三)ARM处理器的基本原则(11-26)