《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應用 > 基于ARM處理器的 PC/104處理器模塊的開發(fā)
基于ARM處理器的 PC/104處理器模塊的開發(fā)
中電網(wǎng)
摘要: PC/104是一種專門為嵌入式應用而定義的總線 。本文介紹的是一種基LPC2129 ARM處理器的PC/104模塊 ,,介紹了利用ARM處理器開發(fā)PC/104處理模塊的基本結(jié)構(gòu),、總線技術(shù)、串行通信接口以及驅(qū)動程序 ,,為ARM處理器在PC/104領(lǐng)域的應用提供了一種新的思路。
關(guān)鍵詞: ARM PC/104 嵌入式 Inte1386SX LPC2129
Abstract:
Key words :

PC/104是一種專門為嵌入式應用而定義的總線 ,,lEEE會將它定義IEEE—P996 1,,信號定義和PC/AT基本一致 ,但氣和機械規(guī)范卻完全不同,,是一種優(yōu)化的,、小型、堆棧式結(jié)構(gòu)嵌入式系統(tǒng) ,?;赑C/104結(jié)構(gòu)的模塊由于開發(fā)方便、品種富、結(jié)構(gòu)簡單等優(yōu)勢在工業(yè)控制領(lǐng)域有著廣泛的應用,。

ARM(Advanced RISC Machine)公司成立于 1990年月,,是蘋果電腦,Acorn電腦集團和 VLSI Technology的合資業(yè) ,。ARM首創(chuàng)了CHlPLESS的模式 ,,該公司只設(shè)計出高效ARM內(nèi)核,通過將 ARM內(nèi)核授權(quán)給半導體公司 ,,由半導體公根據(jù)實際的應用情況加上各種外圍的功能比如Flash,、串RTC等構(gòu)成一塊完整的芯片。

本文主要介紹基于ARM的 PC/104模塊的結(jié)構(gòu) ,,并給出總線模擬 ,、串行通訊接口以及驅(qū)動程序的相關(guān)內(nèi)容。

1 PC/104處理器模塊的要求

在工業(yè)控制和數(shù)據(jù)采集中 ,,PC/104模塊的總線 ,、串口功是必不可少的,而硬盤接口,、并行口,、鍵盤口等 lO 口卻很少用 ,因此在選用另外的CPU代替x86作為PC/104模塊的處器首先要求能夠兼容原有的 PC/104總線 ,,使得符合PC/規(guī)范的數(shù)字量輸入/輸出模塊,、模擬量輸入/輸出模塊以及針PC/104系統(tǒng)開發(fā)的各個系統(tǒng)能夠正常使用;其次該處理器須具有 2個串行接 口,,以適應大部分場合的串行通訊需要三 ,,必須具有可以滿足足夠的程序空間和RAM空間為用戶的序和數(shù)據(jù)使用;第四,,必須具有 RTC(Real Time Clock),,并能斷電時保持系統(tǒng)時間不變;第五 ,,友好的開發(fā)環(huán)境 ,,以適應現(xiàn)系統(tǒng)開發(fā)的需要 。

2 基于 Inte1386SX的 PC/104模塊的缺點

首先 ,,基于386SX 的 PC/104處理器模塊的成本比較386SX/40的控制模塊的價格在千元以上 ,;第二,功耗較大瓦的功耗給電源供應,、散熱的設(shè)計帶來一系列的問題,,并且不合某些低功耗要求的環(huán)境中應用;第三 :程序燒寫繁瑣 ,,基x86的PC/104的理器模塊一般采用 DOC (Disk On Ch或者 DOM(Disk On Module)作為程序存儲器,,由于DOC用燒寫工具比較昂貴 ,,所以實際生產(chǎn)時多采用人工燒錄方法括格式化,、復制多個步驟 ,,每燒一塊芯片需要斷電 、重新啟動器數(shù)次,,效率低下 ,、操作繁瑣 ;第四,,系統(tǒng)啟動速度慢 ,,從上電開始執(zhí)行用戶程序一般需要 2—5秒時間,WDT溢出時恢復時間較長,,容易遺漏一些重要的事件,。第五 ,開發(fā)環(huán)境不夠友好,,基于386SX 的 PC/104處理器模塊的程序一般在 DOS環(huán)境下開發(fā),,開發(fā)工具一般為TURBO C或者BORLAND C,開發(fā)環(huán)境比較落后,,編程 ,、調(diào)試非常的不方便。

3 ARM處理器的特點

首先速度快 ,,ARM是一種基于 RISC架構(gòu)的處理器 ,,運行在44MHz的ARM的處理器的處理能力可大40MlPS,遠大于基于CISC架構(gòu) 386SX/40的13MIPS,;其次 ,,功耗非常低 ,例 LPC2129的內(nèi)核耗電僅為 30mA (供 電電壓為 1.8V,,時鐘為 60MHz),,功耗為 54mW,不到 386SX的十分之一 ,;第三,,集成度高、功能強大 ,,很多世界著名的半導體廠家都購買了 ARM的內(nèi) 核,,并根據(jù)市場的需要推出了集成豐富外圍功能包括 SRAM、 RTC,,CAN接口,、串行口、以太網(wǎng)接口等等的芯片 ,,在很多應用場合,,一塊ARM芯片可以滿足所有的需要,;第四,價格低廉,,ARM芯片生產(chǎn)廠家很多,,在工業(yè)控制和民用產(chǎn)品中的應用也非常廣泛,芯片價格非常低廉 ,,帶128KFLASH的PHILIPS LPC2104的市場價格僅為50元人民幣,。

4 CPU的選擇

經(jīng)過80186、X51,、ARM,、DSP等多種CPU 比較后最終確定采用ARM作為 PC104處理器模塊的替代處理器,為了兼容原 有的基于 PC/104設(shè)計的板卡,。經(jīng)過多家 ARM產(chǎn)品的比較,,最 終確定采用 PHILIPS LPC2129作為本次開發(fā)的 PC/104處理 器模塊 的 CPU。LPC2129是基于一個支持實時仿真和跟蹤的 16/32位 ARM7TDMl—S CPU,,并 內(nèi)置 256K字節(jié)(KB)的高速 Flash存儲器,。128位寬度的存儲器接口和獨特的加速結(jié)構(gòu)使 32位代碼能夠在最大時鐘速率(60MHz)下運行。LPC2129采 用很小的 TQFP一64封裝 ,、具有極低的功耗 ,、2個串口、多個 32 位定時器 ,、4路10位ADC,、2路CAN、PWM通道 ,、46個 GPlO 以及多達 9個外部中斷使它特別適用于工業(yè)控制領(lǐng)域CPU模塊的開 發(fā) ,。

5 系統(tǒng)結(jié)構(gòu)

基于ARM的PC/104系統(tǒng)主要由處理器 、總線接口 ,、 Flash,、實時時鐘 、復位電路 ,、通訊接口,、調(diào)試接口、電源幾個部分組成 ,,如圖 1所示,。

  6 硬件設(shè)計

  6 1總線部分

本模塊開發(fā)的關(guān)鍵之一是 PC/104總線的接口,包括控制總線 ,、地址總線和數(shù)據(jù)總線 ,,采用專用的 3 3V/5V電平轉(zhuǎn)換芯片74LVC4245以保證不同電平電路的高速互連,74LVC4245是一塊A3 8位的總線收發(fā)器 ,,并可以在5V和3.3V系統(tǒng)之間實現(xiàn)電平的轉(zhuǎn)換,。

地址總線 ,、數(shù)據(jù)總線 、控制總線可以采用 PHILIPS的LPC2292等帶擴展總線ARM處理器的總線 ,,也可以采用 LPC2192 ARM 處理器電平轉(zhuǎn)換收發(fā)器的P0口,、P1口的空閑引腳行模擬。在總線模擬時,,由于P0口引腳和擴展功能的復用 ,,因地址總線 ,、數(shù)據(jù)總線很難選用連續(xù)的IO引腳,,在編寫總線驅(qū)程序時只能通過CPU的移位指令靈活的處理:

  void outportb(unsigned int portAdd ress,unsigned char value)

  {

  addr=(portAddress<<1O)://將地址 向右移 1O位

  a=(value << 21): //利用兩次移位,,合成一個 8位數(shù)據(jù)

  b=(value<<23).

  a=(a& Ox01eO0000),; //屏蔽無關(guān)位

  b=(b& O×78OOOOOO):

  data=(a I b):

  }

6_2 串口通訊

串口通訊是工業(yè)控制中的一個非常重要的通訊方式 ,原的x86 PC/104處理器模塊包含兩個帶Modem接口的RS23接口,,由于在實際應用中很少用到全功能的Modem接口,,所在開發(fā)中省略RS232接口中的與 Modem通訊握手相關(guān)的號 ,包括RTS,、DCD,、CTS、RI,、DTR,、DSR六個通訊握手的信號只保留 RXD、T×D,、GND三個信號,。在接口上仍舊采用雙排針的插座 ,引腳排列也按照 DTE(Digital Terminal Equipmen的標準設(shè)置,,以達到和原有的 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秒 ,,遠小于基于 386SX的 PC/104處理器的 2—4秒 ,;第五,執(zhí)行速度加快 ,,全部任務執(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)示范工程的西湖隧道 ,、九曜山隧道中成功的投入使用,,準確 、及時,、可靠的采集了隧道的車速 ,、流量 、車道占有率等道路交通信息 ,,取得了良好的社會效益 ,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。