版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精簡ISA總線擴(kuò)展應(yīng)用實(shí)例 ARM的嵌入式主板系列產(chǎn)品為了支持客戶的各種應(yīng)用擴(kuò)展,所有的ARM9系列和X86系列的嵌入式主板均帶有精簡ISA擴(kuò)展總線。ISA總線是PC機(jī)最經(jīng)典的擴(kuò)展總線(在嵌入式領(lǐng)域,通常以PC104總線的形式出現(xiàn)),在工業(yè)控制領(lǐng)域有著廣泛的應(yīng)用,以及深厚的應(yīng)用基礎(chǔ)。所謂精簡ISA總線就是在保持通用ISA總線時(shí)序不變的前提下,僅保留常用的總線信號(hào),以最大限度的減少總線總的信號(hào)數(shù)量,以適應(yīng)模塊的小型化。ARM的精簡ISA總線包括8位數(shù)據(jù)總線、5位地址總線(可擴(kuò)展到13位)、片選控制線、讀寫控制線以及中斷請(qǐng)求線。ARM所提供的評(píng)估開發(fā)底板將這些信號(hào)線制定了一個(gè)接口標(biāo)準(zhǔn),
2、采用雙排20芯 IDC插針,用戶可利用精簡ISA總線進(jìn)行系統(tǒng)功能的擴(kuò)展。 在ARM的精簡ISA總線中,設(shè)置了2條獨(dú)特的片選控制信號(hào)CS0#和CS1#,這樣就省去了大量的高位地址總線。CS0#和CS1#為低電平有效的脈沖信號(hào)。在x86 系列的嵌入式產(chǎn)品中,CS0#片選信號(hào)的地址區(qū)域?yàn)?x2000x21F,CS1#片選信號(hào)的地址區(qū)域?yàn)?x300 0x31F。在ARM9系列的嵌入式產(chǎn)品中,客戶就不用關(guān)心精簡ISA總線的絕對(duì)地址,只要選定一個(gè)片選信號(hào)及基于這個(gè)片選的地址偏移量即可。如在X86系統(tǒng)下選用了CS
3、1作片選信號(hào),對(duì)0x301進(jìn)行操作,則相對(duì)于ARM系統(tǒng),可使用CS1#、地址偏移量為1的端口。ARM9系列板卡的CS0#、CS1#所對(duì)應(yīng)的地址區(qū)域范圍有所不同。EM9000有13條地址線,每位片選可訪問8K的地址空間。EM9160、EM9161的每位片選可訪問32 個(gè)地址空間。EM9260、EM9360的CS0#可訪問到8K的地址空間,CS1#可訪問到1K的地址空間。 以下是ARM所提供的精簡ISA擴(kuò)展總線接口的信號(hào)定義:信號(hào)名稱及簡要描述精簡ISA信號(hào)名稱及簡要描述PIN#PIN# R
4、ESET#,復(fù)位輸出,低有效12 SA0,地址總線 SD0,數(shù)據(jù)總線,LSB34 SA1,地址總線 SD1,數(shù)據(jù)總線56 SA2,地址總線 SD2,數(shù)據(jù)總線78 SA3,地址總線 SD3,數(shù)據(jù)總線910 SA4,地址總線 SD4,數(shù)據(jù)總線1112 WE#,寫信號(hào)控制線,低有效 SD5,數(shù)據(jù)總線1314 RD#,讀信號(hào)控制線,低有效 SD6,數(shù)據(jù)總線1516 CS1#,I/O片選線,低有效 SD7,數(shù)據(jù)總線
5、,MSB1718 VCC,電源輸出 IRQ,中斷請(qǐng)求,上升沿有效1920 GND,公共地 為了便于用戶理解精簡ISA總線接口如何進(jìn)行編程,本節(jié)以x86指令和ARM系統(tǒng)為例,簡單介紹基于ARM嵌入式主板的精簡ISA的應(yīng)用。由于x86、EM9000、EM9x6x三種系統(tǒng)的ISA總線讀寫操作函數(shù)不一樣,所以在具體使用時(shí),應(yīng)當(dāng)參考相應(yīng)的'*.h'文件。以下是基于ARM的嵌入式主板的精簡ISA總線操作指令表,以便查詢:系統(tǒng)ISA讀ISA寫 x86
6、系列 inport( ) 或 inportb( ) outport( ) 或 outportb( ) EM9000 EM9000_READ( ) EM9000_WRITE( ) EM9x6x系列 ISA_ReadUchar( ) ISA_WriteUchar( ) X86系統(tǒng)使用DOS操作系統(tǒng),其指令也是標(biāo)準(zhǔn)的C函數(shù),所以操作ISA時(shí)使用的時(shí)絕對(duì)地址。ARM嵌入式主板使用的WINCE操作系統(tǒng),存在地址映射
7、問題,同時(shí)使用戶更加方便對(duì)ISA的使用,所以對(duì)ISA操作的過程被封裝成一個(gè)操作函數(shù)后再提供給用戶,在對(duì)ISA操作時(shí)不需要給出絕對(duì)地址,但是需要指明所使用的片選信號(hào)及基于當(dāng)前片選信號(hào)的偏移地址。下面的讀操作也是相同的。 ISA總線的寫操作: C語言ISA總線寫操作函數(shù): outportb ( 0x301, ub1 ); / 將ub1的數(shù)據(jù)寫入0x301地址或寄存器
8、 EM9000 ISA總線寫操作函數(shù): #define CS1# 1 / ARM系統(tǒng)的CS1片選信號(hào)的定義,以下不再說明 EM9000_WRITE ( CS1# , 0x1 , ub1 ); / 將ub1的數(shù)據(jù)寫入CS1片選信號(hào)使能的1偏移地址
9、160; EM9x6x ISA總線寫操作函數(shù): ISA_WriteUchar ( CS1#, 0x1 , ub1); / 將ub1的數(shù)據(jù)寫入CS1片選信號(hào)使能的1偏移地址 對(duì)應(yīng)的總線寫時(shí)序圖為(本文中的總線周期示意圖以ARM系列模塊為例): ISA總線的讀操作: C語言ISA總線讀操作函數(shù):
10、 UCHAR ub1 = inportb ( 0x301 ); / 將0x301地址或寄存器的數(shù)據(jù)讀入ub1 EM9000 ISA總線讀操作函數(shù): UCHAR ub1 = EM9000_READ ( CS1# , 0x1 ); / 將CS1片選信號(hào)使能的1偏移地址的數(shù)據(jù)讀入u
11、b1 EM9x6x ISA總線讀操作函數(shù): ISA_ReadUchar ( CS1#, 0x1 , &ub1); / 將CS1片選信號(hào)使能的1偏移地址的數(shù)據(jù)讀入ub1 對(duì)應(yīng)的總線時(shí)序關(guān)系為:
12、; 如果應(yīng)用程序要讀寫一個(gè)16-bit的數(shù)據(jù),即一個(gè)字時(shí),在x86系統(tǒng)中,可以使用: unsigned int ui1 = inport(0x301); / 讀16位數(shù)據(jù) outport(0x301, ui1); / 寫16位數(shù)據(jù)
13、60; 利用C函數(shù)一次性完成操作,在ISA總線上會(huì)自動(dòng)生成兩個(gè)8位數(shù)據(jù)的讀寫周期,分別訪問低位字節(jié)和高位字節(jié)。在AD、DA的訪問中經(jīng)常會(huì)碰到這樣的情形。 對(duì)ARM9系統(tǒng),應(yīng)用只能通過兩次調(diào)用總線讀寫函數(shù)分別處理16位數(shù)據(jù)的低位字節(jié)和高位字節(jié),如用EM9000 ISA讀寫操作為例: UCHAR ub1 = EM9000_READ ( CS1# , 0x1 ); / 獲得低位字節(jié)。
14、0; UCHAR ub2 = EM9000_READ ( CS1# , 0x2 ); / 獲得高位字節(jié)。 ui1 =( ub2 << 8)| ub1; / 高低位字節(jié)合成16位數(shù)據(jù) &
15、#160; 如果是寫操作,則使用同樣的方式: EM9000_WRITE ( CS1# , 0x1 , (ub1&0xff) ); / 寫低字節(jié)數(shù)據(jù) EM9000_WRITE ( CS1# , 0x2 , (ub1>>8) ); / 寫高字節(jié)數(shù)據(jù)
16、 在使用精簡ISA總線進(jìn)行擴(kuò)展時(shí),為了使總線的信號(hào)傳輸更加可靠,應(yīng)在總線上的所有信號(hào)線加上RC網(wǎng)絡(luò)以達(dá)到最佳的信號(hào)傳輸,同時(shí),在高速的數(shù)據(jù)總線上,可以使用HCT245作一次驅(qū)動(dòng)。如下圖所示: 擴(kuò)展應(yīng)用 1、用精簡ISA進(jìn)行數(shù)據(jù)I/O擴(kuò)展 用戶如果使用的I/O較多,ARM提供的嵌入式主板上的數(shù)據(jù)I/O又不夠使用要求,則用戶可以使用精簡ISA總線來進(jìn)行擴(kuò)展。僅使用3片簡單的74邏輯器件,就可方便擴(kuò)展出8路輸入8路輸出。ARM的ETA716擴(kuò)展模塊就是按照這種方
17、式來實(shí)現(xiàn)的。 接口譯碼電路用一片74HCT139做完成。 在X86系統(tǒng)下,應(yīng)用程序執(zhí)行讀操作時(shí): unsigned char ub1 = inportb ( 0x300 ); / 把外部狀態(tài)讀取并存放到ub1中
18、0; 在EM9000系統(tǒng)下,應(yīng)用程序執(zhí)行讀操作: UCHAR ub1 = EM9000_READ (CS1# , 0x0); 74HCT245被譯碼信號(hào)RD300H#選通,外部的輸入狀態(tài)INPUT0 INPUT7將呈現(xiàn)在數(shù)據(jù)總線SD0 SD7上,CPU將在RD300H#的上升沿時(shí)刻把總線上的數(shù)據(jù)鎖存到ub1。 類似的,當(dāng)應(yīng)
19、用程序執(zhí)行寫操作時(shí): X86系統(tǒng)下寫: outportb ( 0x300 , ub1 ); / 把ub1數(shù)據(jù)輸出送到0x300端口 在EM9000系統(tǒng)下: EM9000_WRITE (CS1# , 0x0 , ub1);
20、0; 把ub1的數(shù)據(jù)送到ISA數(shù)據(jù)總線上,譯碼信號(hào)WE300H#變低有效,并在其上升沿時(shí)刻把總線上的數(shù)據(jù)鎖存到74HCT273的8個(gè)寄存器中,74HCT273的8個(gè)寄存器的輸出OUTPUT0 OUTPUT7將保持不變,直至有新數(shù)據(jù)寫入。當(dāng)系統(tǒng)復(fù)位或上電啟動(dòng)時(shí),低有效的復(fù)位信號(hào)RESET#將保證把74HCT273的輸出清零。 2、用精簡ISA總線進(jìn)行A/D采集擴(kuò)展(應(yīng)用模塊:ETA197) 用戶還可以通過精簡ISA總線來
21、擴(kuò)展具有通用并行接口的A/D轉(zhuǎn)換器,以實(shí)現(xiàn)簡單的數(shù)據(jù)采集。以下是通過ISA總線連接MAX197的信號(hào)接法,由于MAX197只有12位數(shù)據(jù)寬度,這里使用SA0地址線來作為高、低字節(jié)數(shù)據(jù)的選擇,正好形成了兩個(gè)連續(xù)的地址,方便函數(shù)的操作。 對(duì)MAX197進(jìn)行AD轉(zhuǎn)換的基本步驟為: X86系統(tǒng)下: 1、寫控制字節(jié),啟動(dòng)AD轉(zhuǎn)換:outpor
22、tb(0x300, CtrlByte); 2、延時(shí)15us 讀取轉(zhuǎn)換數(shù)據(jù):unsigned int ub1 = inport(0x300); / ub1為讀入的16位數(shù)據(jù) 或EM9000系統(tǒng)下: 1、寫控制字節(jié),啟動(dòng)AD轉(zhuǎn)換: EM9000_WRITE(CS1# , 0x0 , CtrlByte ); 2、延時(shí)15us 3、讀取轉(zhuǎn)換數(shù)據(jù): ub1 = EM9000_READ(CS1# , 0x0 );
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年裝箱單在應(yīng)對(duì)外貿(mào)出口貿(mào)易救濟(jì)措施中的策略合同3篇
- 二零二五版國際貿(mào)易特許經(jīng)營合同主體欺詐風(fēng)險(xiǎn)管理與合同解除合同3篇
- 二零二五年電子顯示屏廣告租賃合同樣本3篇
- 二零二五版代辦房地產(chǎn)前期開發(fā)手續(xù)與建筑工程質(zhì)量檢測服務(wù)合同3篇
- 二零二五年采棉機(jī)駕駛員職業(yè)素養(yǎng)提升與勞動(dòng)合同3篇
- 二零二五版能源行業(yè)凍庫租賃合同含能源物資儲(chǔ)備協(xié)議3篇
- 二零二五年酒店客房部服務(wù)員勞動(dòng)合同書3篇
- 天津事業(yè)單位2025年度合同制聘用人員管理規(guī)范3篇
- 二零二五年度裝修合同范本:環(huán)保裝修保障您的生活品質(zhì)6篇
- 二零二五版地產(chǎn)經(jīng)紀(jì)居間合同糾紛處理指南3篇
- 【公開課】同一直線上二力的合成+課件+2024-2025學(xué)年+人教版(2024)初中物理八年級(jí)下冊+
- 高職組全國職業(yè)院校技能大賽(嬰幼兒照護(hù)賽項(xiàng))備賽試題庫(含答案)
- 2024年公安部直屬事業(yè)單位招聘筆試參考題庫附帶答案詳解
- 健康教育工作考核記錄表
- 裝飾工程施工技術(shù)ppt課件(完整版)
- SJG 05-2020 基坑支護(hù)技術(shù)標(biāo)準(zhǔn)-高清現(xiàn)行
- 汽車維修價(jià)格表
- 10KV供配電工程施工組織設(shè)計(jì)
- 終端攔截攻略
- 藥物外滲處理及預(yù)防【病房護(hù)士安全警示教育培訓(xùn)課件】--ppt課件
評(píng)論
0/150
提交評(píng)論