關(guān) 閉

新聞中心

EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于芯片CH375的USB總線和ISA總線轉(zhuǎn)接的實(shí)現(xiàn)

基于芯片CH375的USB總線和ISA總線轉(zhuǎn)接的實(shí)現(xiàn)

作者: 時(shí)間:2016-10-10 來源:網(wǎng)絡(luò) 收藏

摘要:因其便捷的特性使得其應(yīng)用越來越廣泛,電子市場上帶有USB接口的設(shè)備也越來越多,取代傳統(tǒng)的老式接口必將成為一種趨勢。而是工業(yè)標(biāo)準(zhǔn)總線架構(gòu),在工控領(lǐng)域中歷史悠久,是最早的系統(tǒng)級總線。如今在工業(yè)控制領(lǐng)域的主要作用就是擴(kuò)展中低速設(shè)備接口,因?yàn)楣た仡I(lǐng)域中要控制的設(shè)備往往非常多,所以在工業(yè)領(lǐng)域中仍然起著非常重要的作用。本文的主要目的是利用芯片完成到ISA總線的轉(zhuǎn)接。

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

ISA總線最早作為一種系統(tǒng)總線,主要用在IBM-PC、IBM-PC/XT系列計(jì)算機(jī)當(dāng)中,后來成為工業(yè)總線標(biāo)準(zhǔn),并且產(chǎn)生了深遠(yuǎn)的影響。由于技術(shù)的不斷發(fā)展,ISA總線的傳輸速率跟不上處理器的速度,從而被其他總線所取代。

然而正是由于ISA總線的低速使得其與現(xiàn)在的外設(shè)速率十分匹配,適合作為一種外圍設(shè)備總線,用于擴(kuò)展設(shè)備接口。并且ISA總線的地址線是非常多的,可以連接數(shù)量龐大的設(shè)備。綜合這兩點(diǎn)原因,ISA總線在工業(yè)控制領(lǐng)域仍然占有一席之地,并且ISA總線工業(yè)領(lǐng)域中的應(yīng)用還會持續(xù)一段很長的時(shí)間。

USB外設(shè)普及之后,將會使得PC機(jī)箱后面的各式各樣繁雜的連接線變得簡單,大多數(shù)老式的接口將被淘汰,如ISA接口、PS/2接口、串并行接口等,取而代之的是各種USB接口的外設(shè)。但有些接口是USB無法取代的,如顯示器接口、SCSI接口和IEEE1394接口等。不過這還是不能阻擋USB接口的發(fā)展。

其實(shí)除了如顯卡這種數(shù)據(jù)傳輸量極高和一些對實(shí)時(shí)性要求特別高的控制設(shè)備外,幾乎所有的PC外設(shè)都可以移植到USB上來,因此USB的PC外設(shè)有不可限量的發(fā)展空間。正是基于這個(gè)原因,本文提出了一種設(shè)計(jì)方案,通過芯片實(shí)現(xiàn)兩者之間的轉(zhuǎn)接。

1 整體方案的設(shè)計(jì)

本方案中采用芯片實(shí)現(xiàn)ISA總線到USB總線的轉(zhuǎn)接。CH375是一個(gè)USB總線的通用接口芯片,支持USB-HOST主機(jī)方式和USB- DEVICE/SLAVE設(shè)備方式。在本地端,CH375具有8位數(shù)據(jù)總線和讀、寫、片選控制線以及中斷輸出,可以方便地掛接到單片機(jī)、DSP、MCU、 MPU等控制器的系統(tǒng)總線上。它內(nèi)置了USB通訊中的底層協(xié)議,屏蔽了復(fù)雜的底層驅(qū)動(dòng);通過Windows驅(qū)動(dòng)程序提供設(shè)備級接口,通過DLL提供API 應(yīng)用層接口。下圖是轉(zhuǎn)接板的整體模塊圖,板卡通過USB接頭和上位計(jì)算機(jī)連接,通過ISA接口插接在下位機(jī)的ISA插槽上。

基于芯片CH375的USB總線和ISA總線轉(zhuǎn)接的實(shí)現(xiàn)

1.1 CH375模塊的設(shè)計(jì)

CH375芯片與外圍芯片連接電路如圖2所示。

基于芯片CH375的USB總線和ISA總線轉(zhuǎn)接的實(shí)現(xiàn)

UD+、UD-引腳分別連接USB總線的D+、D-數(shù)據(jù)線。

ACT#是CH375設(shè)備狀態(tài)輸出端,當(dāng)CH375作為USB設(shè)備配置完成后,該引腳輸出低電平,可以用來指示CH375的狀態(tài)。

INT#引腳為中斷請求輸出,將其連接到單片機(jī)的中斷0引腳。

CS#片選控制輸入引腳,將其接到單片機(jī)P2.7管腳。

A0是CH375數(shù)據(jù)端口和命令端口的選擇引腳,A0接到單片機(jī)的P2.6管腳。

RD#和WR#分別接到單片機(jī)的讀寫信號引腳。

D0~D7是數(shù)據(jù)總線,分別與單片機(jī)的P0.0~P0.7連接。

1.2 ISA模塊的設(shè)計(jì)

本設(shè)計(jì)中用了兩個(gè)74HC245,分別將數(shù)據(jù)信號、地址信號和讀寫控制信號引入到下位機(jī)中。采用74LS573芯片作為鎖存器。1)74LS573的使能端0E#引腳接地使其一直有效。2)LE為鎖存使能輸入端,當(dāng)其從高電平轉(zhuǎn)為低電平時(shí)鎖存輸入的數(shù)據(jù)(即為鎖存P0口的數(shù)據(jù))。由于單片機(jī)是在ALE的下降沿送出穩(wěn)定的地址信號,因此可將芯片的LE引腳直接與單片機(jī)的ALE連接。3)其他對應(yīng)連接即可。

ISA總線的地址總線和數(shù)據(jù)總線是分開的,控制線也比較簡單,因而和單片機(jī)接口非常方便,可以直接接到ISA總線上。

2 軟件設(shè)計(jì)

本設(shè)計(jì)要完成的軟件程序設(shè)計(jì)主要是:上位機(jī)用戶界面應(yīng)用程序和下位單片機(jī)程序。

上位機(jī)的數(shù)據(jù)通過USB總線,由USB主機(jī)發(fā)送給CH375,CH375將接收的數(shù)據(jù)放入端點(diǎn)緩沖區(qū),接收完后通過中斷告知單片機(jī)數(shù)據(jù)接收完畢,然后單片機(jī)響應(yīng)中斷,在中斷中做

相應(yīng)的處理,即在中斷中將數(shù)據(jù)轉(zhuǎn)換和發(fā)送到ISA總線。因此單片機(jī)的主要任務(wù)是與CH375通訊,接收CH375數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù),然后再將數(shù)據(jù)經(jīng)過處理轉(zhuǎn)換成ISA總線信號后發(fā)送到ISA總線。圖3為主程序的流程圖。

基于芯片CH375的USB總線和ISA總線轉(zhuǎn)接的實(shí)現(xiàn)

圖4為CH375初始化子程序,其主要是測試和單片機(jī)的通訊是否正常,以及設(shè)置CH375的工作方式等。本文將CH375的工作方式設(shè)置為方式2,即內(nèi)置固件模式。

圖5是單片機(jī)中斷子程序,這是下位單片機(jī)程序最重要的部分,所有上位機(jī)程序發(fā)送的數(shù)據(jù)都是由中斷子程序響應(yīng)、接收和處理的。

中斷子程序如下:

基于芯片CH375的USB總線和ISA總線轉(zhuǎn)接的實(shí)現(xiàn)

3 系統(tǒng)調(diào)試

3.1 調(diào)試方法

本文采用了先部分后整體的調(diào)試方法,這樣可以節(jié)省時(shí)間,最快的速度發(fā)現(xiàn)問題。

把整個(gè)調(diào)試系統(tǒng)分成了兩部分,第一部分為上位機(jī)程序與單片機(jī)的通訊;第二部分為單片機(jī)與ISA總線的通訊。分別對此兩部分進(jìn)行調(diào)試,調(diào)試成功之后再將這兩部分組合成整體,最后進(jìn)行整體調(diào)試。

3.2 調(diào)試過程與調(diào)試記錄

1)上位機(jī)與單片機(jī)數(shù)據(jù)傳送的調(diào)試

上位機(jī)部分由程序“調(diào)試程序V1.0.EXE”來完成控制,由他可以輸入I/O輸出板卡的地址以及要發(fā)送給ISA總線的數(shù)據(jù)。其主界面如圖6所示。

基于芯片CH375的USB總線和ISA總線轉(zhuǎn)接的實(shí)現(xiàn)

單片機(jī)部分由Keil C編程軟件、仿真器以及USB-ISA轉(zhuǎn)接卡組成。將仿真器的仿真頭連接到USB-ISA轉(zhuǎn)接卡單片機(jī)位置,由Keil C編程軟件、仿真器共同完成仿真功能。Keil C軟件的編程和調(diào)試界面如圖7。

基于芯片CH375的USB總線和ISA總線轉(zhuǎn)接的實(shí)現(xiàn)

利用仿真器就可以查看數(shù)據(jù)是否成功到達(dá),調(diào)試記錄如表1所示。

基于芯片CH375的USB總線和ISA總線轉(zhuǎn)接的實(shí)現(xiàn)

2)單片機(jī)與ISA總線數(shù)據(jù)傳送的調(diào)試

單片機(jī)部分即可用仿真器仿真,也可以直接用通過編程器燒寫了程序的單片機(jī),但相比較而言用仿真調(diào)試會比較方便。這部分調(diào)試主要是看由單片機(jī)發(fā)送的ISA總線數(shù)據(jù)能否被I/O輸出卡接收到。數(shù)據(jù)是否接收到可由顯示板來指示,顯示卡LED燈的亮滅狀態(tài)可以指示I/O輸出卡是否被選中,以及是否接收到單片機(jī)的控制信號。

程序控制向ISA總線的某個(gè)地址發(fā)送數(shù)據(jù),如果顯示板能夠顯示程序中發(fā)送的數(shù)據(jù)信息,則表明單片機(jī)與ISA總線通訊成功。

3)系統(tǒng)整體調(diào)試

當(dāng)上述兩個(gè)部分都調(diào)試成功之后,就可以開始系統(tǒng)的整體調(diào)試了。上面兩步的調(diào)試成功說明硬件原理和硬件連接正確,上位機(jī)調(diào)試程序也沒問題,接下來就只剩下單片機(jī)對接收到的數(shù)據(jù)的處理的軟件程序調(diào)試了。這個(gè)部分也相對比較簡單,單片機(jī)對ISA總線數(shù)據(jù)的處理跟對擴(kuò)展存儲器的操作一樣;指向某個(gè)地址然后發(fā)送數(shù)據(jù)。

4 結(jié)束語

本文將USB和ISA這兩種總線的特點(diǎn)融合在一起,設(shè)計(jì)并制作了USB-ISA轉(zhuǎn)接卡,適應(yīng)于各種工控系統(tǒng),在有ISA總線的場合基本上都可以應(yīng)用此轉(zhuǎn)接卡。ISA總線是一種適合于中低速I/O設(shè)備的總線,因其多地址線和較慢的傳輸速率,ISA總線在工業(yè)領(lǐng)域中仍然應(yīng)用得非常廣泛。而USB總線又是一種非常方便的總線,受到越來越多的使用者的喜愛,USB的優(yōu)越的特性將會使其具有不可抵擋的發(fā)展勢頭。因此USB總線和ISA總線的結(jié)合必將會在工業(yè)領(lǐng)域產(chǎn)生深遠(yuǎn)的影響,可以預(yù)期USB-ISA轉(zhuǎn)接卡在工業(yè)領(lǐng)域中會有非常廣泛的應(yīng)用前景。



評論


相關(guān)推薦

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

關(guān)閉