嵌入式微處理器EP9315二次開(kāi)發(fā)
武漢中科院巖土力學(xué)所智能儀器室對基于A(yíng)RM9的嵌入式系統進(jìn)行二次開(kāi)發(fā),高速微處理器與現有低速設備接口及在配套的操作系統中就SY5聲波檢測儀原有功能設計相應驅動(dòng)是本文研究的重點(diǎn)。同時(shí)提出了可行的硬件調試方法,為今后基于A(yíng)RM9微處理器的硬件開(kāi)發(fā)提供了思路。
本文引用地址:http://dyxdggzs.com/article/148337.htm1 系統構成
本設計選擇Cirrus Logic公司2004年7月推出的EP93XX系列中的高端產(chǎn)品EP9315。該微處理器是高度集成的片上系統處理器,擁有先進(jìn)的200MHz ARM920T處理器并支持Linux、WindowsCE和其他許多嵌入式操作系統的存儲器管理單元(MMU)。它具有ARM920T內核所有的優(yōu)異性能。與其他ARM9微處理器相比,EP9315具有以下特性:MaverickCrunchTM數學(xué)運算引擎,支持浮點(diǎn)、整數和信號處理指令;豐富的集成外設接口,包括PCMCIA、接口圖形加速器、可接兩組設備的EIDE、1/10/100Mbps以太網(wǎng)MAC、3個(gè)2.0全速HOST USB、專(zhuān)用SDRAM通道的LCD接口、觸摸屏接口、SPI串行外設接口、AC97接口、6通道I2S接口、8×8鍵盤(pán)掃描接口;支持4組32位SDRAM的無(wú)縫連接等。
配合Windows CE.net嵌入式操作系統,系統開(kāi)發(fā)效率高、運行穩定,為工業(yè)控制提供了可靠的系統平臺?;诙ㄖ频腤inCE操作系統實(shí)現工業(yè)控制中應用模塊的專(zhuān)用驅動(dòng),提高了嵌入式系統的通用性。
1.2 系統主體結構
EP9315嵌入式系統總體結構如圖1所示。整個(gè)系統分為嵌入式系統、應用模塊(聲波檢測儀)和轉換模塊三部分。Cirrus logic公司為用戶(hù)提供了基于該處理器的全功能開(kāi)發(fā)板。該開(kāi)發(fā)板擴展了EP9315的所有功能,并可根據實(shí)際需求將全功能開(kāi)發(fā)板的硬件進(jìn)行裁減,從而降低成本。該開(kāi)發(fā)板預留了標準PC104接口,可方便用戶(hù)開(kāi)發(fā)應用。應用模塊也預留標準PC104接口,其中的I/O控制信號、數據線(xiàn)、地址線(xiàn)與EP9315嵌入式系統的PC104接口一一對應。而系統中的轉換模塊可保證嵌入式系統和應用模塊連接的穩定性。

EP935嵌入式系統主要由電源、32MB/64MB內存、LCD接口、警示LED、主USB、面板按鍵、CF卡接口、以太網(wǎng)接口和標準PC104接口組成。其中電源提供5V、3.3V、1.8V三種電壓輸出,分別給應用模塊、外設、CPU內核供電。內存為操作系統提供運行空間。其中嵌入式系統與應用模塊的I/O控制信號、數據線(xiàn)和地址線(xiàn)都引到標準PC104插座上,經(jīng)轉換模塊處理后相接。采用PC104總線(xiàn)標準實(shí)現了嵌入式系統的各種應用目標。液晶顯示屏用于人機交互,警示LED直觀(guān)地顯示電源狀況。主USB支持U盤(pán)和USB鼠標鍵盤(pán),CF卡作為大容量存儲器存放應用模塊的數據,用戶(hù)通過(guò)面板按鍵實(shí)現對整個(gè)系統的控制。
1.3 嵌入式系統板與應用模塊的連接方案
系統外接的應用模塊(SY5聲波檢測儀)采用51系列單片機控制數字模擬電路實(shí)現特殊功能。整個(gè)數字電路部分均為5V供電,模擬部分由5V及正負12V供電,采樣數據通過(guò)RS232串口傳給上位機進(jìn)行數據處理。而EP9315、I/O口及外圍電路均為3.3V供電,管腳承受的最大電壓不超過(guò)3.6V。
考慮到每個(gè)管腳的驅動(dòng)能力有限,用電平轉換驅動(dòng)芯片74LVXC4245實(shí)現電平轉換。其作用如下:
(1)改善信號的質(zhì)量。某些對時(shí)延比較敏感、且在系統內又相距較遠或者較分散的信號,信號線(xiàn)的寄生電容會(huì )損害信號的特性。采用74LVXC4245驅動(dòng)芯片進(jìn)行隔離,會(huì )改善系統的性能。
(2)抗干擾。增加74LVXC4245這樣的有源緩沖器可以有效地減少干擾。
(3)電平轉換。3.3V到5V和5V到3.3V雙向電平轉換。
74LVXC4245是8通道電壓轉換器,最大可提供200mA的驅動(dòng)電流。與專(zhuān)用模塊接口時(shí),主要實(shí)現數據線(xiàn)、地址線(xiàn)、I/O信號、中斷信號等的單/雙向電平轉換。
地址線(xiàn)的電平轉換方向設置為3.3V到5V。I/O、中斷信號的電平轉換方向可設置為單向轉換,3.3V到5V或5V到3.3V片選可接地。
數據線(xiàn)是雙向信號,電平轉換時(shí)要特別注意其方向信號和片選信號的設計。設計不合理會(huì )造成總線(xiàn)沖突,系統無(wú)法啟動(dòng)。數據線(xiàn)電平轉換電路如圖2所示。

由圖2可見(jiàn),方向信號使用讀信號的反向信號#RD,保證讀操作時(shí)數據線(xiàn)由5V到3.3V,寫(xiě)操作時(shí)數據線(xiàn)由3.3V到5V,防止了總線(xiàn)沖突。使能信號OE可接地或接片選信號。
EP9315在WinCE操作系統下主頻達到200MHz,總線(xiàn)頻率為100MHz,外設時(shí)鐘為50MHz,硬件調試環(huán)境必須與操作系統完全吻合。而應用模塊多采用74系列芯片,工作頻率一般為幾兆赫茲。頻率不匹配造成了EP9315發(fā)出的讀寫(xiě)及使能信號脈寬不足50ns,對由74系列芯片組成的專(zhuān)用模塊不能實(shí)現正確的讀寫(xiě)操作。因此,系統的存儲空間采用了如圖3所示的分配,應用模塊地址空間為CS7:0X7000_0000-0X7FFF_FFFF。

為給低速設備提供足夠脈寬的總線(xiàn)信號,設置應用模塊地址空間存儲空間讀寫(xiě)特性寄存器SMCBCR7中等待時(shí)間位WST1和WST2:
總線(xiàn)讀取等待時(shí)間=(WST+1)×總線(xiàn)時(shí)鐘
連續讀取等待時(shí)間=(WST+1)×總線(xiàn)時(shí)鐘
調試代碼如下:
//總線(xiàn)時(shí)鐘為200MHz
ClkSet1=0x02A4A3D7;
//設置cs7數據寬度為8,讀寫(xiě)脈寬為150ns
temp=SMCBCR7;
temp=temp 0xcfffffff;
temp=temp | 0xffef;
SMCBCR7=temp;
這種設置使得SDRAM等高速外設和低速外設擁有不同的總線(xiàn)頻率,具有很大的靈活性。
2 系統軟件
2.1 嵌入式操作系統下的驅動(dòng)程序類(lèi)型
由于Windows CE.net開(kāi)發(fā)工具好學(xué)易用,沒(méi)有目標設備時(shí)可以在PC上仿真測試,因此基于Windows CE.net的嵌入式開(kāi)發(fā)日益普及。但要在操作系統下控制應用模塊就要為應用模塊編寫(xiě)驅動(dòng)。本質(zhì)上,Windows CE的設備驅動(dòng)程序都是一些動(dòng)態(tài)鏈接庫(.dll文件),這些dll向內核提供了入口函數,使設備管理模塊可以通過(guò)這些函數與具體的硬件設備進(jìn)行通信。由于應用模塊功能的不同,微軟沒(méi)有提供相應的驅動(dòng),所以只能自行開(kāi)發(fā)測試。開(kāi)發(fā)過(guò)程中采用單層驅動(dòng)結構。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論