基于ARM處理器的 PC/1 04處理器模塊的開發(fā)
地址總線 、數(shù)據(jù)總線 、控制總線可以采用 PHILIPS的LPC2292等帶擴展總線ARM處理器的總線 ,也可以采用 LPC2192 ARM 處理器電平轉(zhuǎn)換收發(fā)器的P0口、P1口的空閑引腳行模擬。在總線模擬時,由于P0口引腳和擴展功能的復(fù)用 ,因地址總線 、數(shù)據(jù)總線很難選用連續(xù)的IO引腳,在編寫總線驅(qū)程序時只能通過CPU的移位指令靈活的處理:
void outportb(unsigned int portAdd ress,unsigned char value)
{
addr=(portAddress1O): //將地址 向右移 1O位
a=(value 21): //利用兩次移位,合成一個 8位數(shù)據(jù)
b=(value23).
a=(a& Ox01eO0000); //屏蔽無關(guān)位
b=(b& O×78OOOOOO):
data=(a I b):
}
6_2 串口通訊
串口通訊是工業(yè)控制中的一個非常重要的通訊方式 ,原的x86 PC/104處理器模塊包含兩個帶Modem接口的RS23接口,由于在實際應(yīng)用中很少用到全功能的Modem接口,所在開發(fā)中省略RS232接口中的與 Modem通訊握手相關(guān)的號 ,包括RTS、DCD、CTS、RI、DTR、DSR六個通訊握手的信號只保留 RXD、T×D、GND三個信號 。在接口上仍舊采用雙排針的插座 ,引腳排列也按照 DTE(Digital Terminal Equipmen的標(biāo)準(zhǔn)設(shè)置,以達(dá)到和原有的 386S×/40的PC/104處理器塊的充分兼容。
由于省略了 Modem通訊握手的相關(guān)信號 ,使得采用 1TTL/RS232的電平轉(zhuǎn)換芯片 MAX3232實現(xiàn)兩個串口的接口成為可能 ,并在實際的使用中得到了驗證。
6.3 驅(qū)動程序
為了兼容已有的系統(tǒng)減少軟件移植的工作量 ,因此在編寫底層驅(qū)動程序時已充分考慮和 DOS開發(fā)環(huán)境的底層驅(qū)動程序兼容 ,伯比侶如仃在編垤寫¨總”線驅(qū)動程序時編寫了 unsigned char in portb(unsigned int portAddress)和void outportb(unsigned int portAddress.unsigned char value)兩個函數(shù): void outportb(unsigned int portAddress,unsigned char value)
{
}:
unsigned char inportb(unsigned int portAddress)
{ll_
}
這樣原有在Dos下開發(fā)的程序源代碼不需要修改 ,只需要在ARM 的開發(fā)平臺上重新編譯一下即可。
7 結(jié)束語
采用ARM處理器替代386SX的PC/104處理器模塊后 , 首先成本大幅降低 ,該模塊在某公司的環(huán)形線圈車輛檢測器中投用后 ,產(chǎn)品的單位生產(chǎn)成本大幅降低 ,同時也最大限度的利用了以前的開發(fā)成果。第二 ,功耗大幅降低 ,CPU模塊的功耗從原來8W 降低到現(xiàn)在的1W;第三,程序燒錄方便 ,可以通過JTAG口或者串El直接下載程序 ,非常方便。第四,啟動速度加快 ,系統(tǒng)啟動時間小于0、5秒 ,遠(yuǎn)小于基于 386SX的 PC/104處理器的 2—4秒 ;第五,執(zhí)行速度加快 ,全部任務(wù)執(zhí)行完畢的時間從 2ms縮短為 0.5ms,速度提高了約4倍 ;第六 ,開發(fā)平臺更加友好 ,基于 386SX的PC/104模塊的開發(fā)在 D0S下進行,開發(fā)工具一般用 TURBO C或者 BORLAND C,ARM 開發(fā)則采用 WlND0WS 下的 ADS(ARM Developer Suite)進行開發(fā) ,而且可以非常方便地在線跟蹤和調(diào)試 。
采用LPC2129CPU的PC/104處理器的車輛檢測器在國 家“十五”科技攻關(guān)lTS專項杭州市智能交通系統(tǒng)示范工程的西湖隧道 、九曜山隧道中成功的投入使用 ,準(zhǔn)確 、及時、可靠的采集了隧道的車速 、流量 、車道占有率等道路交通信息 ,取得了良好的社會效益 。
參考文獻:
[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.
評論