緒論:寫作既是個人情感的抒發,也是對學術真理的探索,歡迎閱讀由發表云整理的11篇接口技術論文范文,希望它們能為您的寫作提供參考和啟發。
引言
在IBM公司推出PC機時,并行端口已經是PC機的一部分。并口設計之初,是為能代替速度較慢的串行端口驅動當時的高性能點陣式打印機。并口可以同時傳輸8位數據,而串口只能一位一位地傳輸,傳輸速度慢。隨著技術的進步和對傳輸速度要求的提高,最初的標準并行端口即SPP模式的并行端口的速度已不能滿足要求。1994年3月,IEEE1284委員會頒布了IEEE1284標準.IEEE1284標準提供的在主機和外設之間的并口傳輸速度,相對于最初的并行端口快了50~100倍。IEEE1284標準定義了5種數據傳輸模式,分別是兼容模式、半字節模式、字節模式、EPP模式和ECP模式。其中EPP模式、ECP模式為雙向傳輸模式。EPP模式比ECP模式更簡潔、靈活、可靠,在工業界得到了更多的實際應用。本文介紹的一種基于uPSD323X的EPP增強并口的設計核心是,使用uPSD323X內部的CPLD實現EPP接口。
1EPP接口協議介紹
EPP(EnhancedParallelPort,增強并行端口)協議最初是由Intel、Xirocm、Zenith三家公司聯合提出的,于1994年在IEEE1284標準中。EPP協議有兩個標準:EPP1.7和EPP1.9。EPP接口控制信號由硬件自動產品,整個數據傳輸可以在一個ISAI/O周期完成,通信速率能達到500KB/s~2MB/s。
EPP引腳定義如表1所列。
表1EPP接口引腳定義
對應并口引腳EPP信號方向說明
1nWrit輸出指示主機是向外設寫(低電平)還是從外設讀(高電平)
2~9Data0~7輸入/輸出雙向數據總線
10Interrupt輸入下降沿向主機申請中斷
11nWait輸入低電平表示外設準備好傳輸數據,高電平表示數據傳輸完成
12Spare輸入空余線
13Spare輸入空余線
14nDStrb輸出數據選通信號,低電平有效
15Spare輸入空余線
16Ninit輸出初始化信號,低電平有效
17nAStrb輸出地址數據選通信號,低電平有效
18~25GroundGND地線
1.1EPP接口時序
EPP協議定義了4種并口周期:數據寫周期、數據讀周期、地址寫周期和地址讀周期。數據周期用于計算機與外設間傳送數據;地址周期用于傳送地址、通道、命令、控制和狀態等輔助信息。圖1是EPP數據寫的時序圖。圖1中,nIOW信號實際上在進行EPP數據寫時并不會產生,只不過是表示所有的操作都發生在一個I/O周期內。在t1時刻,計算機檢測nWait信號,如果nWait為低,表明外設已經準備好,可以啟動一個EPP周期了。在t2時刻,計算機把nWrite信號置為低,表明是寫周期,同時驅動數據線。在t3時刻,計算機把nDataStrobe信號置為低電平,表明是數據周期。當外設在檢測到nDataStrobe為低后讀取數據并做相應的數據處理,且在t4時刻把nWait置為高,表明已經讀取數據,計算機可以結束該EPP周期。在t5和t6時刻,計算機把nDataStrobe和nWrite置為高。這樣,一個完整的EPP數據寫周期就完成了。如果就圖1中的nDataStrobe信號換為nAddStrobe信號,就是EPP地址寫周期。
圖2是EPP地址讀周期。與EPP寫周期類似,不同的是nWtrite信號置為高,表明是讀周期,并且數據線由外設驅動。
從EPP讀、寫周期可以看出,EPP模式的數據傳輸過程是一個信號互鎖的過程。以EPP寫周期為例子,當檢測到nWait為低后,nDataStrobe控制信號就會變低,nWait狀態信號會由于nDataStrobe控制信號的變低為而高。當計算機檢測到
nWait狀態信號變高后,nDataStrobe控制信號就會變高,一個完整的EPP寫周期結束。因此,EPP數據的傳輸以接口最慢的設備來進行,可以是主機,也可以是外設。
1.2EPP增強并口的定義
EPP增強并口模式使用與標準并口(SPP,StandardParalledPort)模式相同的基地址,定義了8個I/O地址。基地址+0是SPP數據口,基地址+1是SPP狀態口,基地址+2是SPP控制口。這3個口實際上就是SPP模式下的數據、狀態和控制口,保證了EPP模式和SPP模式的軟硬件兼容性。
基地址+3是EPP地址口。這個I/O口中寫數據將產生一個連鎖的EPP地址寫周期,從這個I/O口中讀數據將產生一個連鎖的EPP地址讀周期。在不同的EPP應用系統中,EPP地址口可以根據實際需要設計為設備選擇、通道選擇、控制寄存器、狀態信息等。給EPP應用系統提供了極大的靈活性。
基地址+4是EPP數據口。向這個I/O口中寫數據將產生一個連鎖的EPP數據寫周期,從這個I/O口讀數據將產生一個連鎖的EPP數據寫周期。基地址+5~+7與基地址+4一起提供對EPP數據口的雙字操作能力。EPP允許主機在此個時鐘周期內寫1個32位雙字,EPP電路再把32位雙字拆為個字節依次從EPP數據口中送出去。也可以用其所長6位字方式進行數據傳送。
由于EPP通過硬件自動握手,對EPP地址口和EPP數據口的讀寫操作都自動產生控制信號而無需軟件生成。
2uPSD323X及其開發環境PSDsoftEXPRESS
ST公司的uPSD323X是帶8032內核的Flash可編程系統器件,將于8032MCU、地址鎖存器、Flash、SRAM、PLD等集成在一個芯片內。其主要特點如下:具有在線編程能力和超強的保密功能;2片Flash保存器,1片是128K或者256K的主Flash存儲器,另一片是32K的從Flash存儲器;片內8K的SDRAM;可編程的地址解碼電路(DPLD),使存儲器地址可以映射到8032尋址范圍內的任何空間;帶有16位宏單元的3000門可編程邏輯電路(CPLD),可以實現EPP接口等及一些不太復雜的接口和控制功能;2個異步串口、I2C接口、USB接口、5通道脈沖寬度調節器、50個I/O引腳等。由于uPSD323X采用的是8032內核,因此可以完全得到KeilC51編程器的PSDsoftEXPRESS是ST公司針對PSD系列產品(包括uPSD)開發的基于Windows平臺的一套軟件開發環境。經過不斷升級,目前最新版是PSDsoftEXPRESS7.9。它提供非常容易的點擊設計窗口環境用戶不需要自己編程,也不需要了解HDL語言,只有點擊鼠標即可完成對地址鎖存器、Flash、可編程邏輯電路等外設的所有配置和寫入。它支持所有PSD器件的開發,使用PSDsoftEXPRESS工具對uPSD323X系列器件的可編程邏輯電路的操作簡單、直觀。PSDsoftEXPRESS工具可以在ST網站(/psd)免費下載。
3用uPSD323X實現EPP接口設計
3.1硬件接口
EPP增強并口的速度最高可達到500KB/s~2MB/s,這對外設的接口設計提供了一個很高的要求,如果外設響應太慢,系統的整體性能將大大下降。用戶可編程邏輯器件,系統的整體性能將大大降低。用戶可編程邏輯器件,如FPGA(FieldProgrammableGatesArray,現場可編程門陣列)和CPLD(ComplexProgrammableLogicDevice,復雜可編程邏輯器件),可以實現EPP增強并口的接口設計,這種實現方案可以達到并口中的速度極限,并且保密性好。ST公司的uPSD323X內部集成了可編程邏輯電路(CPLD),因此使用uPSD323X可以很好地實現EPP增強并口的接口設計。
EPP接口(EPP1.7)外設硬件接口原理如圖3所示。在本設計中,uPSD323X通過中斷的方式接收PC機并口的數據,并且當外設準備好數據上傳到PC機時,PC機采用的也是中斷方式接收外設的數據。
在上述硬件電路的基于上實現EPP并口通信還需做兩部分的工作:一部分工作是在PSDsoftEXPRESS工具中完成對CPLD的數據的鎖存;另一部分工作是在KEILC51環境下編寫中斷服務程序,實現EPP數據的讀取和發送。
圖3
3.2對CPLD的編程及其實現數據鎖存的過程
在PSDsoftEXPRESS工具中,將PA端口(EPPD0~EPPD7)配置成帶有時鐘上升沿觸發的寄存器類型(PTclockedregister)的輸入宏,PB0(nWait)配置成上升沿觸發的D類型寄存器(D-typeregister)的輸出宏,PB3(nWrite)、PB4(nDstrb)、PB2(nAstrb)配置成CPLD邏輯輸入(logicinput)口。NDstrb信號和nAstrb信號各自取反再相與后的值作為輸入宏單元和輸出宏單元的時鐘。上述對PA、PB端口的配置用方程式表示如下:
PORTAEQUATIONS:
=======================
!EPPD7_LD_0=nAstrb&nDstrb;
EPPD0.LD=EPPD3_LD_0.FB;
!EPPD3_LD_0=nAstrb&nDstrb;
EPPD1.LD=EPPD3_LD_0.FB;
!nWait_C_0=nAstrb&nDstrb;
EPPD2.LD=EPPD3_LD_0.FB;
EPPD3.LD=EPPD3_LD_0.FB;
EPPD4.LD=FPPD7_LD_0.FB;
EPPD5.LD=EPPD7_LD_0.FB;
EPPD6.LD=EPPD7_LD_0.FB;
EPPD7.LD=EPPD7_LD_0.FB;
PORTBEQUATIONS:
=======================
nWait.D:=1;
nWait.PR=0;
nWait.C=nWait_C_0.FB;
nWait.OE=1;
nDstrb.LE=1;
nAstrb.LE=1;
EPP數據的鎖存過程如下:以計算機向外設傳輸數據(即EPP數據寫周期)為例子,計算機首先檢測nWait信號,如果nWait為低計算機把nWrite信號置為低,表明是寫周期,同時將數據放到數據總線上,然后置低nDstrb信號。此時,nDstrb信號會出現一個上升沿,此上升沿會將PA端口的數據鎖存到輸入宏;同時,此上升沿使nWait信號變高,表示外設正忙阻計算機發數年。當計算機檢測到nWait信號為高后就會將數據握手信號nDstrb變高,EPP數據寫周期結束。上述EPP數據的鎖存和nWait握手信號的產生都由硬件產生,因此數據傳輸速度快。整個數據傳輸過程可以在一個I/O周期內完成,鎖存到輸入宏的數據的讀取和nWait信號的清除則在外部中斷0服務程序軟件完成。
3.3中斷服務程序的功能描述及流程
由硬件原理圖可以看出,EPP并口的nDstrb和nAstrb信號線分別連到uPSD323X的外部中斷定和外部中斷1引腳。當發生EPP數據讀寫時,nDstrb信號就會產生一個下降沿,引起外中斷定中斷。當發生EPP地址讀寫時,nAstrb信號就會產生一個下降沿,引起外中斷1中斷。外部中斷0和外部中斷1的中斷服務程序的功能是相同的,只不過前者接收或發送的是數據而后者是地址、命令等。以外部中斷0的中斷服務程序為例,詳細介紹數據正向傳輸(計算機向外設發送數據)和反向傳輸(外設向計算機傳送數據)時中斷服務程序的功能。外部中斷0中斷服務程序流程如圖4所示。
(1)數據正向傳輸
當發生EPP數據寫周期時,即數據正向傳輸時,計算機首先檢測nWait信號。如果nWait為低,表示外設已準備好接收數據。計算機把nWrite信號置為低,表明是寫周期,同時將數據放到數據總線上,然后置低nDstrb。NDstrb信號就會產生一個下降沿,此下降沿一方面將PA端口的數據鎖存到輸入宏并使nWait信號變高,表示外設正忙另一方面引起外部中斷0中斷,在外部中斷0的中斷服務程序中讀取輸入宏鎖存的數據,然后將nWait信號清零通知計算機現在外設已經準備好可以再次接收數據了。
(2)數據反向傳輸
首先,機電接口被應用在機電一體化系統中能夠作為模擬信號的輸入接口而存在,通常在機電一體化系統的運行過程中,對于機械系統的運行狀態信號的傳遞是由傳感器或者變送器負責,而接收并且模擬機械系統的輸出信號的則是機電接口。其原因是由于運行狀態的信號多為模擬的電壓或者電流信號,而電子系統對這些信號無法做到有效的識別和控制,只有通過機電接口對這些信號進行接收以及模擬,才能通過電子系統對這些信號進行有效的分辨,達到將機械系統和電子系統兩者有效結合形成一個整體的目的。其次,機電接口被應用在機電一體化系統中能夠作為模擬信號的輸出接口而存在,在機電一體化系統的正常運行過程中,不僅電子系統對于機械系統的輸出信號無法有效的識別和控制,機械系統對于直接由電子系統的輸出信號也無法做到有效的識別和控制,智能有機電接口來實現兩者之間的有效連接,機電接口能夠對計算機的輸出信號轉換成機械系統能夠識別的模擬電壓信號或者模擬電流信號,幫助電子系統實現對機械系統的智能化和信息化控制,完成機電一體化系統正常運行的目的。最后,機電接口能夠作為機電一體化系統中的開關信號通道接口而存在。在機電一體化系統的有效運轉過程中,不僅要對機械系統和電子系統的實時連接做好接口設置工作,還有許多需要需要處理的開關閉合和斷開信號、指示燈的顯示與熄滅信號、繼電器和接觸器的吸合與釋放信號等等需要處理,這些信號的模擬、輸入以及輸出同樣需要用到機電接口。因此機電接口也能夠作為保證機電一體化系統中的開關信號的正常運轉的開關信號通道接口而存在。
2人機接口在機電一體化系統中的運用
人機接口在機電一體化系統中的作用主要是負責將技術人員的指令翻譯成相關的信號輸送到機電系統中,進行控制指令與動作指令之間的信息交換,保證機電一體化系統能夠在工作人員的控制和管理下正常運轉。因此人機接口在機電一體化系統中的運用主要是作為拔盤輸入接口、鍵盤輸入接口以及鍵盤輸出接口而存在。其中撥盤輸入接口的功能主要是負責機電一體化系統中系統參數的修正與控制作用,能夠幫助工作人員對機電一體化系統中的諸多參數信息完成相關的調整工作,而鍵盤輸入接口則是作為向電子技系統中的計算機鍵盤輸入和輸出接口而存在,其能夠幫助電子系統中計算機與鍵盤之間的有效連接,其中電子系統的鍵盤又可以分為編碼鍵盤和非編碼鍵盤,兩者分別具有不同的優勢和劣勢,然而總體都能夠滿足電子系統中計算機正常運轉的諸多功能上的要求。
機電一體化系統可分為機械和微電子系統兩大部分,各部分連接須具備一定條件,這個聯系條件通常稱為接口。各分系統又由各要素(子系統)組成。本文以機電一體化控制系統(微電子系統)為例,將接口分為人機與機電接口兩大類。
一、機電接口
由于機械系統與微電子系統在性質上有很大差別,兩者間的聯系須通過機電接口進行調整、匹配、緩沖,因此機電接口起著非常重要的作用:
(1)行電平轉換和功率放大。一般微機的I/O芯片都是TTL電平,而控制設備則不一定,因此必須進行電平轉換;另外,在大負載時還需要進行功率放大;
(2)抗干擾隔離。為防止干擾信號的串入,可以使用光電耦合器、脈沖變壓器或繼電器等把微機系統和控制設備在電器上加以隔離;
(3)進行A/D或D/A轉換。當被控對象的檢測和控制信號為模擬量時,必須在微機系統和被控對象之間設置A/D和D/A轉換電路,以保證微機所處理的數字量與被控的模擬量之間的匹配。
1、模擬信號輸入接口。在機電一體化系統中,反映被控對象運行狀態信號是傳感器或變送器的輸出信號,通常這些輸出信號是模擬電壓或電流信號(如位置檢測用的差動變壓器、溫度檢測用的熱偶電阻、溫敏電阻、轉速檢測用的測速發電機等)計算機要對被控對象進行控制,必須獲得反映系統運行的狀態信號,而計算機只能接受數字信號,要達到獲取信息的目的,就應將模擬電信號轉換為數字信號的接口——模擬信號輸入接口。
2、模擬信號輸出接口。在機電一體化系統中,控制生產過程執行器的信號通常是模擬電壓或電流信號,如交流電動機變頻調速、直流電動機調速器、滑差電動機調速器等。而計算機只能輸出數字信號,并通過運算產生控制信號,達到控制生產過程的目的,應有將數字信號轉換成模擬電信號的接口——模擬信號輸出接口。任務是把計算機輸出的數字信號轉換為模擬電壓或電流信號,以便驅動相應的執行器,達到控制對象的目的。模擬信號輸出接口一般由控制接口、數字模擬信號轉換器、多路模擬開關和功率放大器幾部分構成。
3、開關信號通道接口。機電一體化系統的控制系統中,需要經常處理一類最基本的輸入/輸出信號,即數字量(開關量)信號包括:開關的閉合與斷開;指示燈的亮與滅;繼電器或接觸器的吸合與釋放;電動機的啟動與停止;閥門的打開與關閉等。這些信號的共同特征是以二進制的邏輯“1”和“0”出現的。在機電一體化控制系統中,對應二進制數碼的每一位都可以代表生產過程中的一個狀態,此狀態作為控制依據。
(1)輸入通道接口。開關信號輸入通道接口的任務是將來自控制過程的開關信號、邏輯電平信號以及一些系統設置開關信號傳送給計算機。這些信號實質是一種電平各異的數字信號,所以開關信號輸入通道又稱為數字輸入通道(DI)。由于開關信號只有兩種邏輯狀態“ON”和“OFF”或數字信號“1”和“0”,但是其電平一般與計算機的數字電平不相同,與計算機連接的接口只需考慮邏輯電平的變換以及過程噪聲隔離等設計問題,它主要由輸入緩沖器、電平隔離與轉換電路和地址譯碼電路等組成。
(2)輸出通道接口。開關信號輸出通道的作用是將計算機通過邏輯運算處理后的開關信號傳遞給開關執行器(如繼電器或報警指示器)。它實質是邏輯數字的輸出通道,又稱為數字輸出通道(DO)。DO通道接口設計主要考慮的是內部與外部公共地隔離和驅動開關執行器的功率。開關量輸出通道接口主要由輸出鎖存器、驅動器和輸出口地址譯碼電路等組成。
二、人機接口
人機接口是操作者與機電系統(主要是控制微機)之間進行信息交換的接口。按照信息的傳遞方向,可以分為輸入與輸出接口兩大類。機電系統通過輸出接口向操作者顯示系統的各種狀態、運行參數及結果等信息;另一方面,操作者通過輸入接口向機電系統輸入各種控制命令,干預系統的運行狀態,以實現所要求的功能。
1、輸入接口。
(1)撥盤輸入接口。撥盤是機電一體化系統中常見的一種輸入設備,若系統需要輸入少量的參數,如修正系數、控制目標等,采用撥盤較為方便,這種方式具有保持性。撥盤的種類很多,作為人機接口使用最方便的是十進制輸入、BCD碼輸出的BCD碼撥盤。BCD碼撥盤可直接與控制微機的并行口或擴展口相連,以BCD碼形式輸入信息。
(2)鍵盤輸入接口。鍵盤是一組按鍵集合,向計算機提供被按鍵的代碼。常用的鍵盤有:
1)編碼鍵盤,自動提供被按鍵的編碼(如ASCII碼或二進制碼);
2)非編碼鍵盤,僅僅簡單地提供按鍵的通或斷(“0”或“1”電位),而按鍵的掃描和識別,則由設計的鍵盤程序來實現。前者使用方便,但結構復雜,成本高;后者電路簡單,便于設計。
2、輸出接口。在機電一體化系統中,發光二極管顯示器(LED)是典型的輸出設備,由于LED顯示器結構簡單、體積小、可靠性高、壽命長、價格便宜,因此使用廣泛。常用的LED顯示器有7段發光二極管和點陣式LED顯示器。7段LED顯示器原理很簡單,是同名管腳上所加電平高低來控制發光二極管是否點亮而顯示不同字形的。點陣式LED顯示器一般用來顯示復雜符號、字母及表格等,在大屏幕顯示及智能化儀器中有廣泛應用。
結語:
接口技術是研究機電一體化系統中的接口問題,使系統中信息和能量的傳遞和轉換更加順暢,使系統各部分有機地結合在一起,形成完整的系統。接口技術是在機電一體化技術的基礎上發展起來的,隨著機電一體化技術的發展而變得越來越重要;同時接口技術的研究也必然促進機電一體化的發展。從某種意義上講,機電一體化系統的設計,就是根據功能要求選擇了各部分后所進行的接口設計。接口的好與壞直接影響到機電一體化系統的控制性能,以及系統運行的穩定性和可靠性,因此接口技術是機電一體化系統的關鍵環節。
1USB協議和芯片選擇
理解好USB協議是USB系統開發的第一步。USB協議版本包括1.0、1.1和2.0,USBOTG是對2.0版本協議的補充。雖然USB協議內容繁多且復雜,然而,對USB開發影響較大的卻只是少數部分,以下對協議版本1.1[1]中這些部分進行介紹。
1.1USB協議
一般,每個USB設備由一個或多個配置(Configuration)控制其行為。使用多配置原因是對操作系統的支持;一個配置由接口(Interface)組成;接口則是由管道(Pipe)組成;管道與USB設備的端點(Endpoint)對應,一個端點可以配置為輸入輸出兩個管道。在固件編程中,USB設備、配置、接口和管道都用描述符報告其屬性。
圖1為USB多層次通信模型。端點0默認配置為控制管道,用來完成所規定的設備請求(USB協議第九章)。其它端點可配置為數據管道。對開發而言,主要的大數據傳輸都是通過數據管道完成的[2]。
USB傳輸類型包括批量傳輸、等時傳輸、中斷傳輸和控制傳輸,每種傳輸類型的傳輸速度、可靠性以及應用范圍都不同[3]。控制傳輸可靠性是最高的,但速度最慢;等時傳輸速度快,滿足實時性,但可靠性低。在具體應用中,端點傳輸類型可根據傳輸速度和可靠性選擇。
在USB通信協議中,主機取得絕對主動權利,設備只能是“聽命令行事”,通過一定的命令格式(設備請求)完成通信。USB設備請求包括標準請求、廠商請求和設備類請求。設備的枚舉是標準請求命令完成的;廠商請求是用戶定義的請求;設備類請求是特定的USB設備類發出的請求,例如海量儲存類、打印機類和HID(人機接口)類。固件編程中設備請求必須遵循一定的格式,包括請求類型、設備請求、值、索引和長度。
1.2USB接口芯片選擇
USB接口芯片的類型有:
(1)按傳輸速度的高低:低速(1.5Mbps)和全速(12Mbps)可選USB1.1接口芯片,例如Philips公司的PDIUSBD12和Cypress公司的EZ-USB2100系列;高速(480Mbps)可選USB2.0接口芯片,例如Philips公司的ISP1581和Cypress公司的CY7C68013。
(2)是否帶MCU(微控制器):一般Philips公司的都不帶MCU,Cypress公司大多都帶,例如AN2131。
(3)是否帶主控器功能:不需要主機參與,主從設備間可進行數據傳輸,芯片有Philips公司的ISP1301和Cypress公司的SL811HS等。
還有專門用途USB芯片,例如閃存專用芯片IC1114。工程中用戶可根據自己的需求選擇一款性價比高的芯片。另外可用開發資源也是要考慮的重要方面,例如開發板和芯片廠商提供的網上資源,可大大降低開發的難度。
2基于USB接口的數據采集系統的設計
2.1系統簡介
該系統能夠實現16路溫度數據自動采集,系統的組成框圖如圖2所示。主要包括8個組成部分:中央處理器選用AT89C52芯片,完成各部分控制功能和USB傳輸協議;實時時鐘記錄當前測量溫度的時間;溫度傳感器和接口電路主要完成溫度采集,并讀入MCU處理;復位電路完成對MCU的上電復位和電源電壓監視;看門狗電路用來監視MCU是否工作;存儲電路主要存儲采集到的溫度數據以及采集的實時時間;電源電路主要為各部分提供要求的電源;外設與主機間的通信電路采用USB接口。
2.2接口芯片選擇
接口電路采用Philips公司的PDIUSBD12[4](以下簡稱為D12)芯片。主要因為D12芯片信息、開發資源豐富,具有較高的性價比。
D12芯片的主要特點包括:
·符合USB1.1版本規范;
·可與任何外部微控制器/微處理器實現高速并行接口(2MB/s);
·采用GoodLink技術的連接指示器,在通信時使LED閃爍;
·主端點的雙緩沖配置增加了數據吞吐量并輕松實現實時數據傳輸;
·在批量和等時模式下均可實現1MB/s的數據傳輸率;
·完全自治的直接內存存取DMA操作。
2.3接口硬件設計
由D12接口組成的通信電路原理如圖3所示。關于D12的各引腳說明見參考文獻[4]。多路地址/數據總線ALE接單片機的ALE腳,這樣使用MOVX指令可以與D12接口,對D12操作就象對RAM操作一樣,此時忽略A0(命令口和數據口地址線)的輸入。因為沒有使用DMA傳輸方式,所以沒有用到DMACK_N、EOT_N和DMREQ_NDMA引腳。INT_N是USB中斷請求腳,發出USB中斷請求;GL_N是GoodLink指示燈,在調試過程中非常有用,在通信時會不停閃爍。如果一直亮或者一直暗,表示USB接口有問題,如果D12掛起,則LED關閉。CLKOUT是D12的時鐘輸出,可以通過固件編程改變其頻率,在調試固件時,可作為參考。
2.4接口程序設計
USB接口程序設計是USB開發的核心。USB接口程序設計包括三部分:單片機程序開發、USB設備驅動程序開發、主機應用程序開發。三者互相配合,才能完成可靠、快速的數據傳輸。
2.4.1單片機程序設計
單片機程序(又稱固件)采用模塊化程序設計,主要模塊包括:數據采集模塊、數據處理、監控模塊和數據通信模塊。模塊化設計的優點是可靠性高、可讀性好、升級簡單。
通信模塊固件結構如圖4所示。主循環和中斷服務程序之間的數據交換可通過事件標志和數據緩沖實現。圖3中USB中斷引腳INT_N發出中斷請求,中斷服務程序根據中斷請求類型操作,設置事件和填充數據緩沖區再傳輸給主循環;標準設備請求程序是對標準請求進行處理;用戶可以根據實際需要編寫廠商請求,例如發出啟動或停止數據采集命令。
圖3USB接口連接示意圖
2.4.2驅動程序設計
驅動開發工具有DDK和第三方開發工具。其中DDK開發難度最大,第三方開發工具有DriverStudio和Windriver等。DriverStudio難度適中,而Windriver則屬于應用層驅動開發,難度小,但效率低,并存在問題。
DDK驅動程序開發工作包括:開發環境設置(VC編譯環境)[5]、驅動程序設計[6]、安裝文件(INF文件)設計。
驅動程序設計采用WDM(WindowsDriveMode)。WDM設備驅動程序提供了一個參考框架,大大降低了由DDK書寫驅動程序帶來的難度。
D12驅動使用的例程包括:DriverEntry、AddDevice、DispatchPnp、DispatchRead、DispatchWrite和DispatchDeviceControl例程,以下是D12的WDM驅動程序函數:
DriverObject->MajorFunction[IRP_MJ_CREATE]=D12_Create;
DriverObject->MajorFunction[IRP_MJ_CLOSE]=D12_Close;
DriverObject->DriverUnload=D12_Unload;
DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL;
=D12_ProcessIOCTL;
DriverObject->MajorFunction[IRP_MJ_WRITE]=D12_Write;
DriverObject->MajorFunction[IRP_MJ_READ]=D12_Read;
DriverObject->MajorFunction[IRP_MJ_SYSTEM_CONTROL;
DriverObject->MajorFunction[IRP_MJ_PNP]=D12_Dispatch;
DriverObject->MajorFunction[IRP_MJ_POWER]=D12_Process-PowerIrp;
DriverObject->DriverExtension->AddDevice=D12_PnPAddDevice;
驅動程序與應用程序和硬件之間通信都是IRP(I/O請求包)完成的。IRP_MJ_PNP主要是實現USB即插即用,例如設備的添加、刪除和資源的分配;IRP_MJ_POWER實現電源管理,例如設備的掛起和喚醒;IRP_MJ_CREATE(創建)、IRP_MJ_CLOSE(關閉)、IRP_MJ_
DEVICE_CONTROL(設備控制)、IRP_MJ_WRITE(讀)和IRP_MJ_READ?穴寫?雪是主要完成數據通信的函數,實現管道的創建、關閉和數據讀寫。其中設備控制具有輸入輸出緩沖區,可實現讀和寫功能;AddDevice和DriverUnload實現設備管理,在設備添加和卸載時,創建和刪除設備,以及管理資源分配。
驅動程序通過安裝文件(.inf文件)中PID(產品識別號)和VID(廠商識別號)識別USB設備。
2.4.3應用程序設計
主機應用程序的編寫使用VC編譯環境中的API函數實現。
應用程序的編程方法與串口編程類似。首先必須查找設備,打開設備的句柄;然后進行讀寫和控制操作;最后是關閉設備句柄。為了提高效率,可使用多線程技術實現讀寫。
應用程序通過GUID(注冊表驅動唯一識別號)查找驅動程序。
2.5調試
首先是固件調試,可用仿真機完成,驅動開發工具Windriver也是很好的固件調試工具,例如測試標準請求、廠商請求和管道讀寫。其次是驅動調試,這是USB接口開發最困難的部分,調試工具可用DriverStudio中Softice工具和文獻[6]中DebugPrint跟蹤工具,監視工具BusHound可監視USB的實際數據傳輸情況。需要注意的是,驅動調試必須在應用程序正確調用的前提下。
1 引言
激光具有波長單一和良好的方向性,所以和傳統的探測方法相比,激光探測具有精度高,抗干擾能力強等特點,在激光測距、激光雷達、激光告警、激光制導、目標識別等軍事領域,都得到了廣泛應用。針對不同武器系統的需求,激光探測系統接口呈現出多樣性。
近年來,隨著應用需求和集成化度的增加,激光探測系內部、激光探測系統和各武器平臺之間集成了不同廠商的硬件設備、數據平臺、網絡協議等,由此帶來的異構性給探測系統的互操作性、兼容性及平滑升級能力帶來了問題。
對激光探測系統而言,接口技術的設計是整個系統集成的關鍵技術。一個激光探測系統的設計、實施,有很大的工作量是在接口的處理上,好的接口設計可以提高系統的穩定性、運行效率、升級能力等,本文以激光探測系統接口技術為研究對象,著重分析其接口技術類型、設計考慮因素和驗證方法。
2 激光探測系統幾種主要接口技術
接口是多要素或多系統之間的公共邊界部分,對激光探測系統的接口包括機械接口、電氣接口、電子接口、軟件接口等,本文著重討論電子接口。按物理電氣特性劃分,常用的激光探測系統接口類型可分為以下幾類:
1 TTL電平接口:最通用的接口類型,常用做系統內及系統間接口信號標準。驅動能力一般為幾毫安到幾十毫安,在激光探測系統中主要應用是作為長距離的總線數據和控制信號的傳輸
2 CMOS電平接口:速度范圍與TTL相仿,驅動能力要弱一些。
3 ECL電平接口:為高速電氣接口,速率可達幾百兆,但相應功耗較大,電磁輻射與干擾與較大。
4 LVDS電平接口:在標準中推薦的最大操作速率是655Mbps,電流驅動模式,信號的噪聲和EMI都較小。
5 GTL接口電平:低電壓,低擺幅,常用作背板總線型信號的傳輸,雖然使用頻率一般在100MHz以下,但上升沿一般都比較陡,特別是對沿敏感的信號,如時鐘信號。
6 RS-232電平接口:為低速串行通信接口標準,電平為±12V,用于DTE與DCE之間的連接。RS-232接口采用不平衡傳輸方式,收、發端的數據信號是相對于信號地的電平而言,其共模抑制能力低,傳輸距離近,多用于點對點接口通訊。
7 RS-422/RS-485接口:采用平衡方式傳輸,采用差分方式,使其在通訊速率、抗干擾性和傳輸距離較RS-232接口有較大改善。多用于多點接口通迅。RS485電平接口可驅動32個負載,忍受-7V到12V共模干擾。
9 光隔離接口:能實現電氣隔離,更高速率的器件價格較昂貴。
10 線圈耦合接口:電氣隔離特性好,但允許信號帶寬有限
11 以太網:經常采用的是10Base-T和100Base-T兩種主流標準,主要應用激光探測系統和分系統之間的接口通訊和數據傳輸。以太網接口具有性價比高、數據傳輸速率高、資源共享能力強和廣泛的技術支持等眾多優點。
12 USB接口:USB總線接口是一種基于令牌的接口,USB主控制器廣播令牌,總線上的設備檢測令牌中的地址是否與自身相符,通過發送和接收數據對主機作出響應,其最大的優點是安裝配置簡單。
3 激光探測系統接口方案設計考慮因素
隨著大規模數字處理芯片和高速接口芯片的迅猛發展,激光探測系統也呈現出智能化、小型化、模塊化的趨勢。在激光探測系統中,信息接口的設計逐漸向標準化、網絡化、多節點、高速等方向展
3.1 接口信號傳輸中的干擾噪聲
3.1.1 接口信號傳輸中的主要干擾形式
a)串模干擾:雜散信號通過感應和輻射的方式進入接口信道的干擾。串模干擾的產生原因主要是傳輸中插件等所產生的接觸電勢、熱電勢等噪聲引起的。
b) 共模干擾:干擾同時作用在兩根信號往返線上,而且幅指相同。共模干擾產生的原因,主要是傳輸線路較長,在發送端和接收端之間存在著接地的電位差。
3.1.2 接口信號傳輸中的抗干擾措施
a)傳輸線的選擇
為了抑制由于雜散電磁場通過電磁感應和靜電感應進入信道的干擾,接口傳輸線應盡量選用雙絞線和屏蔽線,并將屏蔽層接地,而且屏蔽層的接地要于激光探測系統一端浮地的結構形式配合,不要將屏蔽線層當作信號線和公用線。
b)傳輸線的平衡和匹配
采用平衡電路和平衡傳輸結構是抑制共模干擾的有力措施。目前廣泛使用的是差分式平衢性線電路,例如RS-422/RS-485標準串口電路。
接口信號傳輸時還要考慮與傳輸線特性阻抗的匹配問題。一般長線傳輸的驅動器接收器都適用于驅動特性阻抗為50Ω—150Ω的同軸電纜和雙絞線,一般接口接收器的輸入阻抗要比傳輸線的特性阻抗大,因此要設法將兩者匹配,最好將發送端和接收端匹配。
控制信號線的具體配置:控制信號線要和強電、數據總線、地址總線分開,盡量選用雙絞線和屏蔽線,并將屏蔽層接地。
c)隔離技術:電位隔離是常用的抗干擾方法,接口信號采用光電隔離和電磁隔離可以切斷接口內外線路的電氣連接,從而減弱露流、地阻抗耦合等傳導性干擾的影響。
3.2 接口硬件的選擇原則:
3.2.1 為各類接口選擇合適的總線接口芯片、接口總線,并設計具體的接口電路。
3.2.3 選擇接口芯片時應根據激光探測系統CPU/MPU類型,總線類型/寬度和系統所完成的功能并按照高效、經濟、可靠,方便、簡單的原則來確定。
3.2.4 設計具體的接口電路應具體考慮電源問題
3.2.5 數據/命令的鎖存和驅動
激光探測系統內部及激光探測系統和其他系統間實施數據/命令傳輸時,一般采用數據鎖存技術來適應雙方讀寫的時間要求。
3.3 接口的實時性
由于激光探測系統對數據處理和傳輸的實時性要求很高,設計時要使時鐘抖動、通道間時延、工作周期失真以及系統噪聲最小化,所以設計接口時盡量選用高通訊速率和同步工作方式。
接口軟件的設計原則
同步通訊系統軟件設計要充分考慮數據流量的控制,最好在數據發送方發送數據時每隔一段時間插入一段空閑時間,從而保證數據同步傳輸的可靠性。
異步通訊系統軟件設計要充分考慮合理的數據校驗方式,可以根據系統要求選擇冗余校驗、校驗和、冗余校驗的方法。
4 激光探測系統接口方案設計驗證
構建高速有效的激光探測系統接口是非常有挑戰性的,并且設計者需要在設計接口前后就考慮多個因素,詳細的系統級的驗證都是必須的。
4.1 設計前的驗證
基于指令集模擬器和硬件模擬器軟硬件模擬技術是一種高效、低代價的系統驗證方法。接口設計軟件采用匯編,C,C++等語言編寫,用戶編寫的接口源程序經過交叉編譯器和連接器編譯,輸入到軟件指令集模擬器進行軟件模擬。而接口硬件驗證則采用硬件描述語言如VHDL設計,經過編譯后由硬件模擬器模擬。但設計前的驗證也有一定的局限性,比如只能驗證數字接口和驗證環境理想化等缺點。這些都需要設計后的驗證
4.2 設計后的驗證
最常見的驗證方法是制作模擬激光探測系統內部接口和系統間外部接口的通用信號源,通用信號源可以模擬探測系統內部的如主回波、時統、顯示、鍵盤等信號,也可以模擬輸入外部操控命令,并將激光探測系統狀態、測量數據等信息顯示輸出。
《微機原理和接口技術》是高職高專計算機及相關專業必修的一門專業基礎課,同時也是一門實踐性和應用性很強的課程。經過理論和實驗兩方面的教學,使學生把握微型計算機的基本工作原理,匯編語言程序設計的基本方法,微機系統和輸入輸出設備的典型接口電路和接口技術,并能綜合運用軟、硬件技術分析實際新問題。《微機原理和接口技術》這門課程的學習涉及到很多先行課程,比如《模擬電子技術》、《數字電路》等,這些課程的學習效果往往對本課程的學習有一定影響,加之本課程的教學內容較多,各個知識點之間相互交叉又造成理解上的困難,需要學生記憶的內容太多,導致學生學起來較困難,從而失去了學習的信心,達不到預期的教學效果。針對這樣的目前狀況,作者結合自己的教學實踐,談談對于該課程教學的思索。
一、讓學生充分熟悉到該課程的重要性,提高學生的學習動力及喜好
隨著高校的擴招,就業壓力的增大,學生密切的關注所學的知識是否能夠促進自己未來的就業和發展,高職學生尤是如此,所以在教學過程中經常有學生提問說《微機原理和接口技術》這門課程晦澀難懂,學習它有什么實際意義,對我今后的學習和發展有什么功能。對于學生的提問我思索摘要:其實在教學過程中第一節課是非常關鍵的,在第一節課里教師應該將本課程的內容進行整體的介紹并且要告訴學生學習該課程的意義。《微機原理和接口技術》主要講述微型計算機的基本工作原理,匯編語言程序設計的基本方法,微機系統和輸入輸出設備的典型接口電路和接口技術三部分內容。第一部分內容的學習有利于學生對微機工作原理有深入地了解,直接地應用在嵌入式計算機、自動控制等方面,把握它也有利于對后續課程的學習,比如《操作系統》、《編譯原理》等,并且這一部分內容中介紹到的計算機內部各部件的結構又是匯編語言程序設計的基礎。第二部分介紹的匯編語言程序設計是我們和計算機溝通最直接的方式,假如我們想從事計算機科學方面的工作的話,匯編語言的基礎是必不可缺的,因為我們的工作平臺、探究對象都是機器,我們通過匯編語言和機器交流,尤其在和硬件關系非常密切的程序或要提高運算速度的程序,即使是C語言也會有些力不從心,而匯編語言則能夠很好揚長避短,最大限度地發揮硬件的性能。由于匯編語言和硬件密切相關,所以第一部分內容的學習一定要打好基礎。第三部分內容是一些常用且典型的芯片,使學生能深層次的理解微機系統,為以后學習其他芯片打下基礎。只有讓學生熟悉到本課程的學習確實能對自己的就業和未來發展有用,才能激起學生學習的喜好和動力,提高主動學習的熱情。
二、改進教學方法,提高教學效果
《微機原理和接口技術》這門課程中有一些內容確實比較抽象,難于理解,又有很多知識點需要學生記憶,所以光有學習的熱情還不夠,正確的學習方法才能有事半功倍的學習效果。
1、在學生學習過程當中,要不斷鼓勵學生
《微機原理和接口技術》這門課程會分章節講述構成微機的中心處理器,系統總線,存儲器,輸入輸出設備和一些典型的接口電路以及它們的工作原理。我們知道微機是一個有機的整體,要講清楚任何一個部件的工作原理都不可能只單獨將這一部件拿出來講,必然涉及到其他新部件,而其他新部件我們還沒接觸到,所以經常出現一個知識點還沒講清楚,又出現新的疑問,在整個課程的學習當中疑問會一直存在,直至該課程結束,也就是說只有到學期末所有的疑問才能搞清楚。還有這門課中最難的地方在第二章,本章知識理解起來困難,并且有大量內容(幾乎全部內容)要求在理解的基礎上記憶以便為后續的學習奠定基礎,而這時學生剛剛開始接觸這門課程便一下子覺得很難,輕易產生放棄的思想。所以教師在整個學期中非凡是學期初一定要不斷鼓勵學生摘要:學習中存在新問題是很正常的,隨著進一步學習新問題會得到解決,關鍵是堅持,樹立學習信心。
2、對于抽象的概念和工作原理,老師要精心設計課堂教學,使晦澀難懂的知識變得淺顯易懂
課堂教學是使學生獲得知識最有效最快捷的方式。在教學過程中,真正做到“以學生為本”,提高課堂效率,我的心得是精心的進行合理、有效的課堂教學設計。合理、有效的課堂教學設計可以在最短的時間得到最好的教學效果。比如,本課程的教學布置中,先講cpu內部寄存器后講存儲器分段,講cpu內部寄存器時就要涉及到存儲器分段,這樣一來知識點前后交叉多,學生聽不明白,老師也會覺得講不清楚。換種思路,重新調整一下次序,先介紹存儲器分段,講清楚四種段、段地址和偏移地址以及物理地址的形成,再介紹cpu內部寄存器,4個段寄存器分別存放4個段的段地址,地址指針寄存器和指令指針寄存器用來存放偏移地址,這樣講符合學生接受知識的規律,用時較少而且教學效果好。
3、采用多媒體教學手段,更高效地完成課堂教學任務
隨著信息技術的發展,多媒體技術在課堂教學中得到了廣泛的應用。多媒體計算機使圖、文、聲、像集于一體,使教學內容形象生動富有感染力,使抽象新問題形象化。一些抽象概念在單純語言講解的情況下,感性材料不足,說服力不強,通過多媒體可以把抽象的理論和抽象的模型具體形象地展示在屏幕上幫助學生理解。比如講存儲器分段時,說到存儲單元物理地址唯一而邏輯地址不唯一時很多學生感到很困惑“邏輯地址不唯一”,傳統教學手段憑教師一張嘴、一根粉筆、一塊黑板有時很難講清楚,這時采用多媒體動畫的形式將存儲器分段進行演示,它能夠直觀形象地讓學生看出段和段之間的一種重疊關系,某個存儲單元既屬于A段又屬于B段,從而得出這一存儲單元邏輯地址不唯一,既記住了結論又很好的理解了結論推導的整個過程。
4、注重實踐環節
參考文獻:
[1] 胡漢才,單片機原理及接口技術[M]. 北京,航空工業出版社,1998:145-200.
參考文獻:
[1] 胡漢才,單片機原理及接口技術[M]. 北京,航空工業出版社,1998:145-200.
接口技術是計算機專業的一門基礎課程,它具有技術性、工程性和實踐性等特點,其教學質量的優劣直接關系到學生動手能力的高低。長期以來,我們在課程建設上花了很多精力,也取得了一些成就,但是學生在計算機應用方面的能力仍然比較弱,特別是遇到時序控制以及多接口的關聯控制時就顯得力不從心[1]。提高學生的實際應用能力,已經成為教學改革亟待解決的問題。
1研究型教學是教學改革的必然趨勢
傳統的填鴨式教學已經被淘汰,而啟發式、問題式等教學方法改善了一些教學環境,但還不能滿足當今教學的需要。研究型教學和創新型實驗是當前推崇的教學方法和手段。
我院接口技術課程包括理論教學和實驗教學兩個教學環節。最初我們在實驗教學環節中安排了6個設計型實驗和1個綜合型實驗,從實驗內容的設計上能夠反應課程內容的知識點,但由于各實驗教學課堂采用實驗內容一致,導致前后做實驗的學生之間產生了依賴關系,使得實驗教學效果與我們期待的有很大差距[2]。為了解決這些問題,我們設計了6套實驗題目,確保在每個教學點之間兩年內的實驗內容不重復。這樣學生就能夠主動思考完成實驗,從而明顯地改善了實驗教學的效果。
學生的動手能力有了提高,但在組織學生進行創新型實驗時,我們發現相當一部分學生缺乏自主創新能力,甚至缺乏創新的意識。經過分析我們認識到:我們所采用的教學方法對學生創新能力的提高沒有實質性的幫助,因為學生在做課程實驗時,并不考慮實驗內容的設計思路和過程,只是按實驗的要求步驟去完成,因此學生缺乏系統的分析和設計能力,缺乏知識的應用和創新能力。經過審視教學的現狀和學生對教學改革的要求,我們意識到開展研究型教學,以新的思路設計實驗內容和實驗指導書的必要性和緊迫性。如果我們能夠通過研究型教學來轉變學生的學習方式,使其由“要我學”變為“我要學”,從而引導學生自主發現問題、研究問題和解決問題,在此過程中積累知識并強調一種主動探索和創新實踐的精神[3],這對學生創新意識和創新能力的提高都是非常有益的。
由于接口技術課程的特殊性,我們將其研究型教學分成理論教學和實驗教學兩部分,并將兩者緊密地結合起來。研究型教學的目的是在學生具有的實際知識構架基礎上,通過閱讀資料、分析和討論,來研究一些新型接口技術的理論、方法和應用;而研究型實驗則是對上述方法的具體實踐,在這個過程中我們強調最大程度地發揮學生的潛能,強調實驗內容、過程和現象都由學生獨立設計和完成,增加學生的自主性。只要我們努力培養學生的研究型學習能力和應用型的實踐能力,就能最終鑄造出創新型人才,因此我院在接口技術課程的理論和實驗教學中全面地采用了研究型教學。
2研究型教學的實施
2.1建設適合課程教學的研究型實驗擴展平臺
研究型實驗擴展平臺的設計是要基于學生的基本知識結構,將課堂上沒有涉及的較新技術引入到理論和實驗教學中來,學生通過研究型學習和實踐達到轉變學習方式和掌握新知識的目的。為此我們在現有的實驗平臺上開發了一些新的實驗擴展平臺。這些實驗擴展平臺包括:I2C接口的存儲器訪問實驗擴展平臺,I2C接口的RCT時鐘控制實驗擴展平臺,SPI接口的EEPROM實驗擴展平臺,8259中斷控制器級聯實驗擴展平臺,RS485的全雙工和半雙工實驗擴展平臺,CAN總線實驗擴展平臺等。其中一些是插在現有實驗平臺的總線上使用,另外一些是通過實驗連線與實驗平臺連接使用,這樣就為開展研究型實驗奠定了必要的實驗環境。
2.2設計研究型理論教學的內容
研究型理論教學以討論、研究報告、調研報告和小論文為主線。我們在理論教學中增加了PCI總線和USB接口部分,并側重于總線的協議內容。我們還結合課程現有教學內容設計了一些討論題目,比如:8259中斷控制器內部各端口的尋址方法和尋址特點,8259中斷控制器查詢方式的實現方法,8237 DMA控制器在主動態和被動態下引腳信號的變化特點。結合實驗擴展平臺還設計了另外一些題目,比如:I2C總線和SPI總線時序特點及時序產生方法,I2C總線的讀寫時序與PCI總線的讀寫時序之間的特點分析,CAN總線協議和數據交換過程等。 這些題目所涉及到的內容更加深入,并伴隨整個教學過程。學生需要查閱資料,分析、總結和歸納才能得出滿意的答卷,而這個過程更加強化了學生的知識體系。
2.3設計研究型實驗教學的內容
研究型實驗的目標是進一步提高學生的創新能力。我們在現有的實驗平臺上開發了一些研究型實驗項目,同時注重研究型實驗教學內容的更新和充實[4],確保兩年內的實驗內容不重復。這些實驗的難度和研究型的成分比常規實驗都有了很大的提高。我們還為實驗擴展平臺開發了相應的研究型實驗指導書,指導書上只表明了實驗擴展平臺的電路圖和實驗需要達到的目的,至于實驗方案設計、連線設計、現象設計和結果的預期都完全由學生通過查閱資料、分組討論來組織實施并完成,以最大限度地體現研究性學習和實踐的成分。相關擴展實驗平臺的研究型實驗包括:I2C接口的存儲器訪問實驗,I2C接口的RCT時鐘控制實驗,SPI接口的EEPROM訪問實驗,8259中斷控制器級聯向量中斷實驗,8259中斷控制器級聯查詢中斷實驗,8259中斷控制器級聯中斷嵌套實驗,RS485的四線全雙工通信實驗,RS485的二線半雙工通信實驗等。
另外,為了幫助學生驗證自己完成的研究型實驗是否正確,我們還為部分實驗設計了測試程序和使用指導書。
2.4研究型實驗教學的選題和實施方案
我們要求學生理論和實驗配套選題,如果某學生在理論方面選擇了I2C總線的讀寫時序的討論題目,那么他的研究型實踐就應該選擇I2C接口的存儲器訪問實驗或I2C接口的RCT時鐘控制實驗,這樣就可以保證通過理論研究搞清楚I2C總線的工作原理和數據讀寫時序,通過實驗來驗證數據的交換過程的正確性,從而使二者有機地結合起來。
我們的常規實驗安排在第9~16周,而研究型實驗內容于第10周公布,第11周對學生進行分組和選題,每組3~4人,設立組長,第12~16周以小組為單位組織實施。因此研究型實驗伴隨了整個實驗教學過程,也是學生認識、實踐和提高的過程。由于研究型實驗涉及了很多新知識,要獨立完成相應的實驗有一定的難度,在此期間,任課教師輪流在實驗室進行答疑并與學生進行交流。并在第16周安排一次課程進行研究型教學總結,要求以實驗小組為單位做PPT,小組長總結實驗中遇到的問題、解決的方法和取得的成果。
3學生的能力超出了我們的預期
最初我們認為研究型實驗的內容可能會超出學生的承受能力,有可能達不到預期的效果。為此我們準備了I2C總線和SPI總線的程序設計的基本框架,如果在第14周末還看不到學生實驗的預期成果,我們就將這些框架程序提供給學生作為實驗參考程序,但實踐證明我們的擔心是不必要的。使我們感到驚訝是,在第13周末就有一些學生基本完成了研究型實驗,到第16周實驗驗收時,已經有80%的實驗小組完成了研究型實驗,其結果令人非常滿意。從研究型實驗的總結中發現,雖然很多組做相同的題目,但是他們的方案設計有明顯的差別,每個組的學生都最大發揮了他們的潛能。研究型實驗引起學生的學習積極性如此高漲,是筆者從事教學工作以來從沒有遇到過的現象。
4給學生提供施展才能的舞臺
學生需要有舞臺來展現他們的才能。在第16周的研究型教學總結研討會上,各小組爭先恐后上臺發言,給大家分享他們的實驗體會和成果,學生具有的極大熱情和出勤率之高出于我們的預料。每次總有2~3個小組長爭先上臺發言,使我們不得不去指定某些實驗題目的組長做總結發言。在整個總結會上,掌聲不斷,一些學生用自己實驗的經歷和體會幫助了另外一些同學,很多學生從中收益匪淺,因為他們感興趣的正是其他組同學完成實驗遇到的問題和解決的方法。學生希望教學過程中應該多增加一些這樣的教學環節。
5研究型教學的啟示
接口技術實驗室從來沒有像這樣人氣興旺,在課余時間總可以看到幾個學生圍在一起做實驗,充滿了研討的氣氛。研究型實驗充分地調動了學生的學習積極性和熱情,很多學生對這門課程由此產生了興趣。學生在評教時這樣寫到:“接口技術課程使我對硬件真正的產生了興趣,使我從以前害怕硬件到喜歡上了硬件設計”。很多同學還參加了今年各種大賽并獲獎。
筆者認為要正確看待大學生的學風問題。由于周圍的環境造成了一些學生學習不努力,但大部分學生學習的確非常刻苦,總是希望尋找機會鍛煉自己,提高自身的實際應用能力。學風問題要從教師和學生兩個方面來分析原因,如果教師增加課堂教學的吸引力,設計出更多學生感興趣的實驗和教學內容,給學生提供更大的發揮空間,我們將會得到另外一個不同的結論。
總之,學生的潛能是巨大的,這些潛能能否發揮與當前的教學模式有很大的關系,死板的教學模式絕對不會培養出高水平的人才。接口技術研究型教學的實施過程使我們認識到,只要開展研究型教學,設計出學生感興趣的研究型教學和實驗內容,并給學生提供發揮和想象的空間,就能使學生由被動學習到主動學習,并在研究過程中應用實踐,最大限度地調動學習積極性,改善不良學習風氣,從而營造出一個創新型人才培養的良好環境。可以看出,研究型教學必定是今后教學模式的發展趨勢。
參考文獻:
[1] 陸慧娟,高波勇. 計算機專業創新型人才培養思考與實踐[J]. 計算機教育,2008(10):156-158.
[2] 李濟生. 接口技術教學與實踐探討[J]. 計算機教育,2008(4):59-61.
[3] 方愷晴.“計算機組成原理實驗”研究性教學的探討[J]. 計算機教育,2008(10):100-103.
[4] 劉明貴,向梅梅. 基于實踐教學改革的人才培養模式創新[J]. 中國大學教學,2009(2):81-82.
The Research and Practice in Teaching of Interface Technology Course
LI Ji-sheng
電子信息工程專業作為實踐性、應用性非常強的理工科專業,學生必須具備扎實的基礎理論知識,具有較強的實驗技能,今后才能順利地從事電子設備和信息系統的維護和研發。要實現這個目標,必須十分重視相關課程的建設,搞好實驗教學改革。而單片機原理與接口技術課程作為電子信息專業的一門專業主干課程,其應用性非常強,設計性實驗開設質量對于學生今后就業、工作至關重要。
一、教學現狀
單片機原理與接口技術課程是電子信息工程專業核心課程之一,理論的重要性不言而喻,但在實驗教學方面大都還是停留在傳統的實驗模式上,離培養學生實踐動手能力和創新精神還有差距。很多學生反映,課程學習下來理論基本掌握了,驗證性實驗也能順利完成,但要真正完成一個實際項目時,卻無從入手。出現這種現象原因是多方面的,筆者認為主要有:
1.教學模式方面的原因。傳統教學方式中,教師主要注重于理論的完整性和知識結構的完備性。理論上從單片機的結構講起,然后講匯編指令和c語言編程,再講硬件接口及相關的程序編寫,最后講一兩個實例,課時也就差不多用完了,再想講其他東西就沒有時間了。WWW.133229.cOm實驗也注重基本原理和基本方法的訓練,為了讓學生認識單片機的基本組成和基本指令,所開出的實驗就占了大部分實驗課時,最后只能做幾個綜合性實驗或做一個簡單的設計,這樣就結束了整個課程的學習。
2.教師方面的原因。自從高校擴招以后,學生的數量劇增,而教師并沒有同比例增長,教師承擔的課時量太大,教學壓力過重。具體到單片機原理與接口技術這類專業性和實驗性都非常強的課程,存在著精力投入不夠的問題。如果要改革實驗教學的模式,以設計性實驗為主的話,教師就要投入非常多的精力。
3.評價體系方面的原因。就評價體系而言,目前通行的仍然是以分數的高低來評價學生學習成績的好壞。一般采用平時成績、實驗成績、考試成績各占總成績的一定比例來得到學生課程的最后得分。對有些課程來說這種方法是比較科學的,但對單片機原理與接口技術課程,就會存在這些問題:學生成績不低,但一旦面臨實際問題時,無從入手,沒有達到本課程的教學目標。
二、解決對策
為提高單片機原理與接口技術課程教學質量,培養學生解決實際問題的能力,筆者認為,提高設計性實驗開設的質量是教學改革的重點,應該從以下幾點來改革:
1.教學模式。提出和采用新的教學模式,實驗開設要特別注重開出的設計性實驗質量。新的教學模式主要包含理論教學和實驗教學兩個方面。在理論教學中,單片機的結構和基本指令講解要精,應通過實例來將相關的知識串起來,力求通過具體實例的講解達到以較少的理論課時就讓學生真正掌握單片機的結構和指令的目的。在實驗方面,則采用以開設設計性實驗為主、驗證性實驗為輔的方法,并提高實驗課的課時數。適量開設驗證性實驗,在課堂內只做1~2個,而將大部分實驗內容放在課堂外,由學生通過開放實驗室單獨完成。增加較多的設計性實驗,供學生選做,在教師精心指導下,讓學生在課外準備,課內完成,切實提高學生的實戰技能。
2.教師自身的定位。教師應自覺提高自身做項目的能力,并保證足夠的精力投入到教學中去。教師要注重平時積累,一方面,要自己動手,精心制作好幾個作品。另一方面,也可以通過提出選題,指導學生去做,將完成后的作品及文檔全部存檔。只要通過2~3年的積累,就可以形成難度、層次區分較為合理的項目選題庫和作品庫,既為后續班級的教學創建了良好的條件,對后續學生的實驗起到示范和引領作用,又為今后的教學工作減輕了負擔。要做好這些,就要求教師充分明確自身職責,牢固樹立以教學為中心的觀念,保證有足夠的精力投入教學中。
3.評價體系。作為評價體系,要改變傳統的基本是以分數論英雄的模式。單片機原理與接口技術課程如果只是掌握了一些理論知識而沒有實戰能力,分數再高都不能算是學好。作為對學生的評價,筆者認為一定確立以實踐能力為主體的評價體系,通過對學生做的項目難易程度、項目完成的效果等驗收情況來給出合適的評價。
三、設計性實驗開設與評價體系建立中要注意的幾個問題
想搞好單片機原理與接口技術課程建設,提高學生的實戰能力,就要以設計性實驗的開設為重點來進行整體設計。筆者認為需要特別注意抓好以下四個銜接:
1.理論與實驗的銜接。理論教學是單片機原理與接口技術課程教學中必不可少的組成部分,但其開設方式不能采用傳統的教學方法,而應設計出一種項目教學或稱為專題講授的形式來進行。首先,要講透基礎部分,筆者認為可以分成單片機的內部結構、單片機的指令系統、程序編寫的基本思想、硬件接口構建等四個專題進行。其次,要針對課程特點,做好五個簡單項目,如外部中斷的使用、定時器中斷的使用、并口的擴展、串口通信、ad和da轉換。最后,要對相關知識點全面整合,綜合演練,實戰2~3個較為復雜的綜合性項目,進行原理圖分析、算法設計和程序分析,并制作出作品進行演示。按這種思路設計,理論教學大致課時數為36~48個課時,實驗課時數為24~36個課時。
據此分析,實驗教學則應充分重視設計性實驗的開設。與理論教學相對應,每講完一個項目,就要依托該項目開設一個設計性實驗,每個實驗3~5個課時。通過簡單的5個項目和較復雜的2~3個項目的訓練后,學生能掌握單片機開發和設計與實物制作的基本方法和技能。當積累了2~3年后,有了很多已成功的項目可參照時,不同的學生就可以選做不同的設計性項目。在進行單片機原理與接口技術的課程設計時,則應要求學生在設計性實驗的基礎上進一步深化,將多個部分綜合在一起設計制作一個更復雜、具有較完備功能的實際系統。這是一個由理論出發,通過基礎實驗、簡單的設計性實驗、復雜的設計性實驗,最后完成復雜的課程設計過程,符合循序漸進的教學規律,實現了該課程理論與實踐的完美結合。在此過程中,設計性實驗的開設基本覆蓋了單片機原理與接口技術課程的所有知識點,使學生牢固掌握基本理論,熟練掌握基本設計思路,綜合應用基本設計方法,從而達到學以致用的根本目的。
2.驗證性實驗與設計性實驗的銜接。驗證性實驗是指為驗證已經學習過的理論知識所設置的實驗;設計性實驗是指給定實驗目的要求和實驗條件,由學生自行設計實驗方案并加以實現的實驗。驗證性實驗作為一種傳統的教學方法,在現在的實驗教學中也還有一定的作用,可為設計性實驗的開設提供一些必要的基礎。現在的驗證性實驗一般是在相應的實驗箱上完成,通過開設1~2個驗證性實驗可讓學生了解單片機的基本構成和基本工作原理,所以在開設設計性實驗前開設驗證性實驗是非常必要的。同時,一些設計性實驗的開設可在實驗箱上對驗證性實驗進行改造而成,特別是對于開始的簡單的設計性實驗更是如此。比如一些驗證性實驗,所有的電路硬件在實驗箱中是現成的,同時給出相應的實驗程序范例,學生就可以在實驗箱上進行驗證,對所做實驗的功能進行分析。教師只需要在理論教學時將程序流程圖和涉及的算法講述清楚,最后要求學生去編寫程序,然后再進行功能驗證即可。采用這么一種由驗證性實驗作為基礎并進行改造的方法對于以基本原理的掌握為目標的簡單的設計性實驗具有很強的可操作性,有利于驗證性實驗到設計性實驗的自然銜接。
3.課堂與課外的銜接。設計性實驗開設要做好課堂與課外的銜接。因為設計性實驗是要學生自行設計實驗方案并加以實現的實驗,所有的實驗方案不可能僅在幾個課時的實驗課上完成,主要工作要在課外完成。一方面,實驗方案的制訂、原理圖的設計、實物的制作等主要在課外完成,實驗課中主要是在教師的指導下進行調試和測試。另一方面,設計性實驗很難一次性成功,往往需要多次嘗試、反復修正才行,這些必須在課外完成。要使設計性實驗真正達到較好的效果,除了在理論教學中要注重和實驗教學銜接外,課外的銜接尤其重要,要做好實驗室開放,讓學生在課外能夠較方便地利用實驗室的資源,也應鼓勵學生采購一些比較簡單的單片機開發工具,如簡易開發版、燒錄器等。
4.評價標準的再定位與評價體系建立的思路。驗證性實驗往往只涉及一門課程的一個章節或一個知識點的內容,學生通過驗證性實驗,可以使所學理論知識具體化和形象化,加深對所學知識的理解與掌握,培養基本動手能力。設計性實驗突出它的自主設計性,可以是單一知識的運用,也可以是多知識點的綜合運用,給出實驗目的、要求和實驗條件,由學生自行設計實驗方案并加以實現,所以設計性實驗帶有試探性、研究性,在時間上也需要課內與課外相結合。
由于驗證性實驗與設計性開設的目標不同,所以最終的考核方式也不同。對于驗證性實驗,教師可以直接根據學生所做的實驗報告評判其實驗成績。傳統的做法是百分制。一般每個實驗成績包括三個部分:實驗預習(20分)、實驗操作(40分)、實驗報告(40分)。使用傳統的百分制,可以評價學生是否掌握了基本理論和設計方法。但設計性實驗所涉及的知識點數量不同,綜合運用的效果不同,設計方案是否得當,步驟是否簡易可行,實驗的成本、效率是否令人滿意等等,都不能一概而論,因此需要結合各方面進行綜合的評定。設計性實驗的考核要貫穿這樣一個原則:淡化結果,注重過程。對于設計性實驗我們更重視學生在整個設計過程中的表現,而測定結果只作為考核的次要因素。學生在設計方案中是否有獨到新穎的想法,整個實驗思路邏輯是否清楚,實驗過程是細節嚴密還是顧此失彼,結果是否可信等都是評定設計實驗成績的重要因素。考核中要充分鼓勵和肯定學生在設計過程中所表現出的敢于挑戰、主動學習、大膽創新的精神,以及由此帶來的思維水平和實踐水平的全面提高。
因此,設計性實驗不宜采用傳統的百分制,筆者認為,宜采用優、良、中、及格、不及格5個檔次來進行評定。首先明確“優”和“及格”的標準,在“優”的標準下,適當下降一點作為“良”的標準,“及格”標準高一點作為“中”,達不到“及格”標準的就判定為“不及格”。比如,每一個項目都設定多個指標,完全達到指標并有所創新的評為“優”;完全達到指標而無創新的可評為“良”;實現主要指標可評為“中”;實現部分指標,能體現設計者掌握了基本相關基礎知識則可評為“及格”;沒有實現任何指標,或沒有做的評定為“不及格”。這樣就應在設定實驗指標上著手,針對具體的實驗進行不同的設定,才能比較準確地定性評價學生的實驗能力,這一點仍需在實踐中不斷探索和改進。
四、結語
單片機的體積比較小,集成度較高,整體抗干擾能力比較強,而且可靠性較高,因為具備這些優點,所以被應用到各行各業。經過長時間的使用人們發現,單片機存在著功能簡單、管理難等缺點,所以在大部分場合當中,都會將單片機與IBM-PC進行聯合使用,組成相應的通信系統。單片機主要負責對相關對象進行控制,而后者則主要負責對單片機進行管理并且對其中的數據進行深層次處理,所以要對多臺機器運行中通信方面存在的問題進行解決,下文將主要對單片機數據串口通信進行分析。
一、串口通信模塊
首先要保證傳輸方面的可靠性。串行通信通道從本質上分析,屬于數據及指令的一個通道,所以串行通道上的每一個環節都必須有比較強的可靠性,而且要滿足傳輸環境的要求以及相關接口的標準,因為不同接口的標準通常情況下只能滿足單一的工作環境才可以正常工作,所以必須要保證通信狀態以及校驗碼等。其次要保證通信抗干擾性。我們選擇的標準接口,在不超過適用范圍的前提下都必須要具備較高的抗干擾能力,只有這樣才可以保證信號的正常傳輸。但是實際工作過程中,通信環境比較惡劣,所以要根據實際環境,對通信介質以及接口進行選擇,在選擇的過程中首先要考慮其自身的抗干擾能力,如果能力不足,適當的可以采取一些措施進行彌補。如果工作環境的噪聲污染比較嚴重,工作人員完全可以通過光纖介質來減少噪聲對工作的產生的干擾,也可以配合光電隔離來提升系統安全性。標準串行接口自身電氣特征都可以滿足在可靠傳輸情況下最大的通訊速度以及傳輸的距離指標,在通常情況下,這兩種標準都具有一定的相關性,如果降低通訊速度就可以增加通訊距離,提升通訊速度就會縮短通訊距離。
二、矩陣式鍵盤接口技術
矩陣式鍵盤接口技術屬于單片機數據串口通信當中比較重要的一個環節,本文主要對使用過程中比較常見的鍵盤去抖動進行闡述。為了保證鍵盤閉合一次,CPU進行一次處理,就必須要對按鍵釋放時產生的抖動進行祛除,這也是該技術在實際使用過程當中比較常見的一個問題。鍵盤處理程序以及顯示處理是十分復雜的,因為這兩點在通常情況下都會占據整個應用程序當中大部分帶碼,重要性可見一斑。所以在進行鍵盤編寫之前,必須要先理清接下來的邏輯順序,使用比較少適合的算法對其進行表示,表示之后再進行編寫,只有這樣才能保證代碼編寫的質量。
三、數據傳輸
在串行通信當中,數據之間通常會在兩地之間傳輸,數據整體傳送速度會受到通信上方的設備配備性能以及所在地區通信線路的影響。從工業場合的角度來分析,9600bpa屬于比較常見的一種傳輸速度,通常情況下通信端口傳送數據屬于字符型的數據,如果將其用于文件傳輸,就要涉及到2進制數據。從傳輸帶方向方面,我們可以將其分成三種傳輸模式,分別為單工傳輸、半雙工傳輸以及全工傳輸。不同的設備之間想要進行數據傳輸,就必須要找到一種雙方都可以接受的方式,只有這樣才能保證數據傳輸過程中不會發生沖突,減少產生數據錯誤的概率。我們常見的串行通信一般情況下分成異步方式和同步方式。本文將主要對異步通信進行分析。
異步方式主要指在通信系統當中,數據傳輸過程中大多使用獨立的字節進行傳輸,而且每一個字節的前面都存在起始信號,并且在字節的后面都會出多一個終止信號,從而構成一幀的數據。一般情況下,位于標記位置的傳輸線都是空白狀態,表示字節已經開始傳輸,在傳輸的最后,使用終止位,讓熱傳輸線回到最一開始的標志狀態下,在這種情況下準備發送下一字符,所以起始位通常占用一個位置,字符編碼會占據7個位置,如果第八位屬于奇偶校驗位置,則停止位可以占據一位至兩位,通過一系列數據我們可以發現, 一幀的數據在正常情況下是10-11位構成的。使用該方式進行字符表示,那么字符就可以不斷的進行傳送,在數據傳輸過程當中,CPU和外設二者之間需要有相關規定。
分別為字符格式以及波特率。因為異步通信的傳輸效率比較低,所以在字符傳輸之前都必須要添加一些具有標志性的信息。異步通信比較適合在慢速場合使用。異步通信這種通信方式,如果雙方的時鐘存在誤差,則字符之間停止間隔就會給誤差提供出相應的緩沖余地,所以在實際使用過程當中,允許系統存在小頻率飄逸,這一點是其余模式所不具備的。異步通信的傳輸率在常規情況下約為50-9600波特,結合異步通信的特點,我們通常情況下將其使用在計算機以及CRT、打印機之間進行通信。
四、結束語:
本文主要對單片機視角下的數據串口通信進行了簡要分析,從矩陣式鍵盤接口技術、串口通信模塊、數據傳輸三個方面進行了進一步的論證,結合筆者自身掌握知識及工作經驗提出相應結論,旨在為我國該行業的發展提供一份實際工作及設計經驗,以作參考。
參考文獻:
[1]王振友,宗風強.在Visual Basic6.0下實現組態王與單片機的串口通信[J]. 山東省計算機學會2012年信息技術與信息化研討會論文集(二).中國會議.
[2]張佳瑞.基于單片機的數據采集和無線數據傳輸系統設計[D]. 西南交通大學碩士學位論文,2013:07-09.