新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于Linux的ISA總線DMA的實現(xiàn)

基于Linux的ISA總線DMA的實現(xiàn)

作者: 時間:2011-11-15 來源:網(wǎng)絡(luò) 收藏
1.3 數(shù)據(jù)傳輸電路

本文引用地址:http://butianyuan.cn/article/150059.htm

  三維圖像數(shù)據(jù)利用設(shè)備控制箱通過RS2232 串口后, 再利用紅外編解碼技術(shù)把數(shù)據(jù)傳到旋轉(zhuǎn)的LED驅(qū)動板上, 其整個數(shù)據(jù)傳輸?shù)耐ㄓ嵔Y(jié)構(gòu)圖如圖2 所示。

  在單片機串口模塊中選用電平轉(zhuǎn)換芯片MAX232 芯片TTL 電平與RS2232 電平的雙向轉(zhuǎn)換, 從而把三維圖像數(shù)據(jù)傳送到單片機的串行接收端口RXD 上, 然后單片機再通過其發(fā)送端口TXD把數(shù)據(jù)送出。圖中的調(diào)制與紅外發(fā)射模塊通過由N E555 芯片構(gòu)成的多諧振蕩電路調(diào)制成38 kHz 的載波信號, 最后利用紅外發(fā)射管TSAL6238 以光脈沖的形式向外發(fā)送。為了保證紅外接收數(shù)據(jù)的準確性,N E555 產(chǎn)生的振蕩頻率要盡可能接近38 kHz,所以在選擇電阻電容時要選用精密的元件并保證電源電壓的穩(wěn)定性。

  數(shù)據(jù)傳輸電路中的紅外接收解調(diào)模塊選擇Vishay 公司的TSOP1738, 其內(nèi)部電路功能已包括把接收到的載波頻率為38 kHz 的脈沖調(diào)制紅外光信號轉(zhuǎn)化為電信號, 并由前放大器和自動增益控制電路進行放大處理。然后, 通過帶通濾波器進行濾波, 濾波后的信號由解調(diào)電路進行解調(diào)。最后, 由輸出級電路進行反向放大輸出。

  所以, 選用此紅外接收模塊只要把其數(shù)據(jù)輸出直接送到FPGA 處理即可。經(jīng)實驗測定, 利用此紅外傳輸電路傳輸數(shù)據(jù), 速率最高可達1 kB/ s。

  1.4 角度編碼器與電機模塊電路

  本系統(tǒng)立體顯示是通過快速顯示旋轉(zhuǎn)空間中的一系列二維截面來的, 把LED 屏旋轉(zhuǎn)一周分成180 個截面, 即每轉(zhuǎn)2°要刷新一次顯示屏。為了準確刷新顯示屏, 本系統(tǒng)選用角度編碼器來識別顯示屏轉(zhuǎn)過的角度, 角度編碼器通過測試電機旋轉(zhuǎn)發(fā)出脈沖可識別電機的旋轉(zhuǎn)角度。本系統(tǒng)選用的角度編碼器型號為ZSP38062022G2360B25224E。此編碼器旋轉(zhuǎn)一周可輸出360 個脈沖信號。這樣電機每轉(zhuǎn)2°, 角度編碼器便可發(fā)出2 個脈沖信號,LED 顯示屏控制系統(tǒng)通過計數(shù)采集的角度編碼器輸出脈沖數(shù)來控制刷新LED 屏。

  同時, 利用角度編碼器的輸出脈沖再通過單片機的處理可測出電機的旋轉(zhuǎn)速度, 并可送到數(shù)碼管顯示。此外, 單片機可對測得的電機速度進行判斷,判斷其是否超出一定的范圍, 如超出范圍可通知由單片機控制的報警電路報警。其電機模塊電路圖如圖3 所示。

  電路中所用的電機為無源電機, 所以需要電機的驅(qū)動電路, 考慮電機在加負載時速度會減慢, 設(shè)計電機的速度可調(diào), 其調(diào)節(jié)范圍為0~ 4 200 r/m in。電路中電機與角度編碼器套在一起, 其轉(zhuǎn)速v ( r/s ) 與角度編碼器的輸出脈沖頻率f (Hz) 具有如下關(guān)系:

  v = f/360 (2)

  通過此對應(yīng)關(guān)系利用單片機可測出電機的旋轉(zhuǎn)速度并可送到數(shù)碼管顯示。同時利用設(shè)計的報警器可達到對電機旋轉(zhuǎn)速度的監(jiān)控。

  1.5 LED 尋址驅(qū)動電路

  LED 尋址驅(qū)動控制電路主要是利用FPGA 芯片EP1C3 來控制LED的專門驅(qū)動芯片BHL2000, 并且EP1C3 根據(jù)采集的角度編碼器的輸出脈沖數(shù)按時讀取存儲器中的三維圖像數(shù)據(jù), 然后傳送給BHL 2000, 從而來驅(qū)動LED 屏的列顯示。同時, FP2GA 又將行掃描信號輸出經(jīng)后級放大來驅(qū)動L ED 屏的行顯示, 其具體的原理框圖如圖4 所示。

  由于LED屏在旋轉(zhuǎn)的過程中會造成亮度損失,所以FPGA 的行掃描信號輸出需經(jīng)過74HC245 和UDN2981 的放大, 這樣行信號輸出最大電流可達到500 mA。此外,BHL 2000 屬于灌電流型器件且每個數(shù)據(jù)輸出端電流可達到80 mA , 可直接驅(qū)動L ED 顯示。驅(qū)動電路中的存儲器選擇STC62WV 5128, 其容量為512 k×8 b it, 而本系統(tǒng)一幅三維圖像的數(shù)據(jù)量為6715 k×8 b it, 所以選擇STC62WV 5128 是足夠的。

  值得說明的是, EP1C3 對BHL 2000 的寫數(shù)據(jù)是在BHL 2000 寫入時鐘WR 的驅(qū)動下, 數(shù)據(jù)從D in02D in7 輸入, 在內(nèi)部移位寄存器中串行移位16 次后,由級聯(lián)口SHO02SHO7移出。同時BHL 2000 行、場控制信號HS、VS確定數(shù)據(jù)在存儲器中的存儲位置, 最多可存8×16×32 個字節(jié)。此外,BHL 2000 的輸出行、場控制信號HCL K 和CLR 確定取數(shù)位置, 在讀出時鐘CLK控制下進行灰度調(diào)制, 輸出脈寬信號O02O15, 從而驅(qū)動LED顯示屏。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


關(guān)鍵詞: DMA 實現(xiàn) 總線 ISA Linux 基于

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉