前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇接口設計論文范文,相信會為您的寫作帶來幫助,發現更多的寫作思路和靈感。
從結構上,檢測接口可以分為DAC單元、濾波放大單元、二線接口單元、混合單元、信號調理單元、ADC單元和FPGA系統單元。
1.1DAC與濾波放大單元DAC與濾波放大單元用于將數字信號轉換為模擬信號,并完成對信號的調理、幅度調節與功率放大功能。其硬件電路如圖2所示。該單元由3部分電路組成,分別是DAC芯片電路、無源濾波電路和差分放大電路。DAC芯片為ADI公司生產的高性能、低功耗CMOS數模轉換芯片AD9762,AD9762為12位分辨率,支持最高125MS/s的更新速率。該芯片使用5V、3.3V可選單電源供電,最高功耗175mW,2mA~20mA差分電流輸出,負載RLOAD為100Ω時輸出電壓范圍為0.2V~2V[2]。FSADJ引腳連接外接電阻RSET,用于滿量程電流輸出調節。REFIO引腳用于基準電壓VRFE輸入/輸出,選擇內部1.2V基準電源時通過一個0.1μF電容與模擬地連接。其差分輸出電壓VDOUT與輸入的12位數字代碼(DCODE)的關系式為。無源濾波電路由電感與電容組成截止頻率為20MHz的7階巴特沃斯低通濾波器,用于信號整形和消除毛刺干擾。差分放大電路以全差分放大器AD8476為核心組成,用于將通過無源濾波電路的模擬差分信號進行增益調節和功率放大。AD8476是一款功耗極低的全差分精密放大器,其帶寬為6MHz,使用±5V電源供電時的輸出電壓范圍為-4.845V~4.82V[3]。檢測激勵信號的峰峰值為4.3V和6.2V,而DAC的輸出峰峰值電壓為2V,因而差分放大電路的增益應當大于3.1,這樣才能使得激勵生成通道的輸出信號幅值符合檢測需求。考慮到DAC的轉換效率和可能存在的誤差,可設計差分放大電路具有兩個略大于滿幅度輸出的增益值。圖2中使用外部擴展電阻R1~R6組成反饋電阻網絡,其中R1=R2=10kΩ為輸入電阻,R3=R6=24kΩ、R4=R5=33kΩ為兩組反饋電阻。該電路的增益值分別為A1=R3/R1=2.4,A2=R4/R1=3.3。為了提高檢測接口的自動化程度,使用1個2路2:1電子開關ADG736用于兩組反饋電阻的切換,通過改變其控制端IN1和IN2的電平邏輯,完成開關動作。ADG736使用5V供電時,導通電阻RON為2.5Ω,帶寬大于200MHz,通過峰值電壓為5V。
1.2二線接口與混合電路單元二線接口與混合電路單元用于為信號激勵與數據采集提供對外二線接口和實現收發信號的雙工傳輸。其硬件電路如圖3所示。二線接口電路由電壓比為1的變壓器以及電阻RS1、RS2和電容C9、C10組成,用于提供檢測電路對外的二線接口,實現接收與發送信號的傳輸,同時可以隔離外部直流信號。RS1、RS2用于與線路負載阻抗匹配并隔離遠端反射和提供線路的能量交換,電容C9、C10用于配合組成激勵發送端擴展濾波電路。混合單元的功能是一階模擬回波抵消,用于抵消本地發送信號。圖2中R7~R10為輸入電阻,同時與C3~C8組成一階低通濾波器。兩個儀表放大器AD8429用于將二線平衡信號轉換為單端信號。AD8429為低噪聲、高精度儀表放大器,其增益為1時增益精度為0.02%、CMRR為80dB、帶寬為15MHz,使用±12V電源供電時其輸出電壓范圍為-10.1V~10.7V,使用單個增益控制電阻RG能夠控制其增益范圍為1~1000,其增益控制關系為G=1+6kΩ/RG[4]。LT6600-10將一個全差分放大器與一個近似切比雪夫(Chebyshev)頻率響應的四階10MHz低通濾波器集成在一起。芯片為低噪聲全差分輸入/輸出放大器,內部集成兩個運算放大器、電阻電容網絡,組成1倍增益放大電路和一個10MHz低通濾波器,使用±5V電源供電時其輸出電壓范圍可達到±5V。若線路電阻RS與負載電阻RL完全匹配,則第二個AD8429的增益值為2時,混合電路的輸出U′3=U3。考慮到阻抗失配現象的普遍存在,因此選擇電位器作為第二個AD8429的增益控制電阻,在線路阻抗失配的條件下,通過調節增益控制電阻來實現混合單元消除近端信號的目的。根據前文所述,可以得到混合電路輸出信號U′3與二線輸入信號U3比值跟增益控制電阻RG之間的關系。因此只要知道RG的值,就能夠通過式(5)準確地對通過混合單元造成的輸入信號幅值的線性誤差進行修正。為了提高檢測接口的自動化程度和實現對RG值的實時感知,選擇數字電位計AD5272作為第二個AD8429的增益控制電阻。AD5272為1024位分辨率、1%電阻容差誤差、I2C接口和50-TP存儲器數字變阻器,最大阻值為20kΩ,可使用5V電源供電[6],其阻值調節步長為1.95Ω。
1.3信號調理與ADC單元信號調理與ADC單元用于將混合電路輸出的模擬差分信號轉換為輸入信號并輸入到FPGA,該部分為數據采集的核心單元,其硬件電路如圖4所示。由于被測信號的最高頻率不超過2.048MHz,根據奈奎斯特采樣定理,使用4.096MHz采樣速率進行采樣就能得到信號完整的信息,但是在工程中,通常使用5~10倍速率進行采樣。因此ADC選擇12位、10MS/s采樣速率模/數轉換器AD9220,其為+5V單電源供電,70dB信噪比,86dB無雜散動態范圍,內置片內高性能、低噪聲采樣保持放大器和可編程基準電壓源,并具有滿量程輸出指示功能[7]。使用1V基準電壓時其輸入范圍為2V(峰-峰值)。信號調理電路應當具有抗混疊濾波和信號幅度調節的功能。該電路選擇全差分放大器AD8476組成,考慮到檢測時輸入信號的幅值大于ADC的輸入范圍,因而選擇其輸入電阻為10kΩ,選擇數字電位器AD5272為反饋電阻RF,則其增益值G4=RF/10kΩ,電路的增益值為0.0002~2可調。放大器輸出經過2個100Ω電阻和2個電容組成的低通濾波器后送至ADC。同時,AD8476以ADC的基準電壓VREF為共模參考電壓。
1.4FPGA單元FPGA單元以Xilinx公司的FPGA芯片XC3S400為核心電路組成,其程序存儲芯片為XCF02S,使用40MHz有源晶振,5V電源供電,使用穩壓芯片提供電路所需的3.3V、2.5V和1.2V電源。USB接口作為微處理器常用的外部總線接口,目前已經得到了廣泛的應用[8],因此考慮選用USB2.0接口作為FPGA與上位機之間的數據接口。同時采用JTAG接口用于FPGA和其配置芯片的程序燒寫。關于FPGA電路的設計、開發技術已經較為成熟,本設計相比與其他通用FPGA電路的設計并無獨特之處,因此不再對FPGA單元進行詳細描述。
2FPGA程序設計
在檢測接口電路的設計中,FPGA是檢測接口電路的信息傳輸與控制單元的核心,其可編程配置能力和能夠高速、并行處理數字信號的能力是檢測接口的靈活性和升級性的關鍵。其內部程序使用Xilinx公司的FPGA開發環境ISE進行設計并完成燒寫。程序設計使用模塊化設計思想,其結構示意圖如圖5所示,可以分USB傳輸、管理控制、DAC傳輸、輸出增益控制、混合單元控制、信號調理控制、ADC傳輸控制和增益補償8個模塊。下面就各個模塊的功能分別進行介紹。(1)USB傳輸模塊,用于通過FPGA單元上的USB接口電路實現FPGA芯片與上位機的信息傳輸,具有USB電路的配置功能,并實現標準USB信號封裝、解封裝功能,將接收到的上位機信號解封裝為透明數據傳送到管理控制模塊和DAC傳輸模塊,將管理控制模塊、增益補償模塊輸出信號封裝為標準USB信號通過USB接口電路傳輸到上位機。(2)管理控制模塊,是整個程序的主控單元。該模塊用于接收USB傳輸模塊輸出的控制信號,對其余的通信模塊進行控制,并輸出檢測電路的工作狀態到USB傳輸模塊,最終傳輸到上位機。同時用于控制其余模塊的工作狀態,接收混合單元控制模塊、信號調理控制模塊、ADC傳輸模塊輸出的反饋信息進行工作狀判斷,根據混合單元控制模塊、信號調理控制模塊反饋信息控制增益補償模塊的補償量。(3)DAC傳輸模塊,在管理控制模塊的控制下工作,接收USB傳輸模塊輸出的激勵信號,并將信號轉換為DAC芯片的數據輸入信號,同時為DAC芯片提供轉換時鐘。(4)輸出增益控制模塊,用于在管理控制模塊輸出的控制信號下工作,根據需求通過兩路輸出信號IN1和IN2分別控制差分放大電路的2個電子開關ADG736。(5)混合單元控制模塊,用于在管理控制模塊輸出的控制信號下工作,根據需求通過輸出I2C信號控制混合單元的數字電位計AD5272的阻值,完成信號混合功能,并將AD5272的阻值信息反饋給管理控制單元。(6)信號調理控制模塊,用于在管理控制模塊輸出的控制信號下工作,根據需求通過輸出2路I2C信號控制信號調理電路的2個數字電位計AD5272的阻值,完成信號調理功能,并將2個AD5272的阻值信息反饋給管理控制單元。(7)ADC傳輸模塊,在管理控制模塊的控制下工作,接收DAC芯片輸出的采樣數據,并將數據傳輸到增益補償模塊,同時為ADC芯片提供采樣時鐘。該模塊同時接收ADC輸出的滿量程指示信號和數據輸入指示信號,并傳送給管理控制模塊。(8)增益補償模塊,用于接收來自ADC傳輸模塊的采樣數據和管理控制模塊輸出的增益補償信息,對ADC芯片采樣獲得的信號進行增益補償,實現檢測信號的完整性。
3結論
地面測試臺的測試對象為某采編存儲器。測試臺的主要功能包括向采編存儲器提供模擬信號供其采集,向采編存儲器下發控制命令,接收采編存儲器下發的高速LVDS實時數據并進行后續處理。測試臺的整體結構如圖1所示。CPCI總線上掛有3個CPCI板卡,分別為CPU卡、接口卡、信源卡。其中,CPU卡為處理系統,接口卡和信源卡為功能卡。本文將以接口卡為主要依據來介紹如何以FPGA邏輯控制來實現CPCI局部總線接口和高速LVDS接口。
2LVDS高速數據接口實現
2.1LVDS接口硬件電路設計由于趨膚效應和介質損耗,高速信號在傳輸過程中會衰減。因此,當傳輸距離較長時,往往要使用電纜驅動器和均衡器來保證高速數據傳輸的準確性。電纜驅動器將信號以最大功率耦合到電纜上[4],延長信號的傳輸距離,電纜均衡器可以對傳輸的信號進行高頻補償,以至達到標準邏輯電位。本設計中,LVDS串行器/解串器分別選用TI公司的SN65LV1203和SN65LV1224,信號驅動器/電纜均衡器分別選用NS公司的CLC001和CLC014。LVDS接口電路結構如圖2所示,采編存儲器的FPGA控制LVDS串行器將10bit并行數據轉換成差分串行數據,再通過電纜驅動器將信號耦合到電纜上。地面測試臺的電纜均衡器對接收到的信號進行高頻補償之后傳送給解串器,解串器根據參考時鐘將差分串行數據轉換成10bit的并行數據,由FP-GA進行后續的處理。
2.2FPGA邏輯控制LVDS數據接收由于CPCI接口傳輸的時鐘和LVDS數據接收電路的時鐘不匹配,為了保證數據傳輸的可靠性,在編寫VHDL語言程序時FPGA內部調用一個異步時鐘控制的緩存FIFO[8]IP核來對接收到的LVDS高速數據進行緩存,如圖2所示。上位機通過配置PCI9054的傳輸計數寄存器,將一次DMA傳輸的數據量設置為2kbyte。寫FIFO的時鐘為18.432MHz,讀FIFO的時鐘為36.864MHz,當FIFO內數據量達到2kbyte時,FPGA立即通知上位機啟動一次DMA傳輸。經計算,從FIFO內讀走2kbyte數據大約耗時54μs,在這個時間段內寫入FIFO的數據量大約為1kbyte,所以,當DMA傳輸結束時,FIFO內數據不足2kbyte,上位機直到FIFO內數據量再次達到2kbyte時才會啟動下一次的DMA傳輸。為了避免PCI9054不能立即執行DMA傳輸而導致FIFO數據溢出,FIFO容量要大于2kbyte。本設計中選擇容量為4kbyte的FIFO,經驗證,不會出現FIFO溢出現象。
3CPCI局部總線接口實現
實現CPCI接口協議一般有兩種方法。其中一種方法為:利用FPGA實現接口邏輯。這種方法雖然可以充分利用FPGA的資源,減小成本,但PCI邏輯十分復雜,可靠性不能得到保證,且開發周期長。另外一種方法為:采用專用的PCI接口控制芯片。專用接口芯片功能強大,性能穩定,設計方便,很大程度上減少了設計者的工作量,縮短了開發周期。所以,本設計中選擇使用PCI9054接口控制芯片與FPGA配合工作的方式來實現CPCI局部總線接口通信。
3.1EEPROM的配置在Windows環境下,為有效管理多塊CPCI板卡資源,實現多卡協同工作。通過設置EEPROM配置選項中的ClassCode/REV值,解決使用同一驅動情況下,多塊CPCI板卡識別問題。地面測試臺含信源卡和接口卡兩塊CPCI功能板卡,圖3為接口卡的EEPROM配置文件截圖,各板卡需要設置不同的ClassCode/Rev(圖中紅色選框部分),上位機程序通過識別不同的ClassCode/Rev達到控制不同板卡的目的。ClassCode/Rev為一個32bit數據,規定高8bit作為不同板卡區分標志,低24bit保留。其中D31~D28功能標識,區分是否為信源卡、接口卡等功能卡。D27~D24數量標識,區分當前功能卡的數量,具體約束如下表1所示。
3.2CPCI局部總線實現方法
3.2.1PCI9054工作模式選擇PCI9054總線控制芯片有3種工作模式,即M模式、C模式、J模式。其中,C模式最為簡單,類似于單片機的工作方式,它的地址線和數據線分開使用,可以很方便地控制本地時序。所以本設計中PCI9054工作于C模式,由FPGA邏輯控制本地時序來完成CPCI局部總線與功能板卡之間的通信。
3.2.2CPCI總線訪問本地總線PCI9054的訪問方式選擇DMA方式。PCI9054作為主控設備,通過內部的DMA控制器來實現局部總線上數據與CPCI總線上數據的傳輸。在DMA訪問方式下,一個總線周期的時序如圖4所示。當CPCI總線訪問本地總線時,PCI9054內部的DMA控制器發出LHOLD信號來申請控制局部總線,當其收到響應信號LHOLDA后,才獲得局部總線的控制權。當ADS#信號有效時,局部總線上的地址信號LA為有效地址;當BLAST#信號有效時,代表一次單周期訪問開啟;READY#為本地總線的狀態反饋信號,只有當其有效時,表示本地總線已經準備好,才可以進行訪問;當LW/R#為高時,代表單周期訪問為寫操作,當LW/R#為低時,代表單周期訪問為讀操作。在本設計中,FPGA通過識別地址信號LA來判斷具體的操作類型。當上位機向接口卡下發控制命令時,為CPCI總線到本地總線的數據傳輸,具體的工作流程為:當上位機下發命令時,啟動一次單周期寫訪問,同時下發特定的寫地址LA1,FPGA反饋READY#信號,并判斷到LW/R#信號為高,即得知上位機要下發數據,便從該特定地址LA1將命令代碼讀出,進行解碼之后將命令下發給采編存儲器。當接口卡向上位機傳輸LVDS高速數據時,為本地總線到CPCI總線的數據傳輸,具體的工作流程為:當圖1中所示的LVDS數據緩存FIFO內數據量達到2kbyte,啟動一次DMA傳輸,即一次DMA傳輸將2kbyte的數據上傳給上位機進行實時顯示與處理。上位機通過下發特定地址信號LA2來向FPGA查詢FIFO內數據量是否達到2kbyte,一旦其得到緩存FIFO內數據量滿足要求的信息,立即啟動一次單周期讀訪問,并向FPGA下發數據傳輸地址LA3,FPGA反饋READY#信號,并判斷到LW/R#信號為低,便將LVDS數據通過地址LA3上傳給上位機。
4設計驗證
將信源卡和接口卡分別插到背板上的2號和3號物理槽中,1號物理槽為系統槽,打開計算機系統,安裝驅動之后,兩塊功能板卡均能夠被識別。分別對兩塊板卡進行操作,均能實現各自的功能且互不影響,說明EEPROM的配置正確可行。以接口卡為例,用Chipscope來監測CPCI總線對本地進行讀、寫操作的實際過程,圖5和圖6分別為單周期讀訪問時序截圖和單周期寫訪問截圖。如圖5所示,當FIFO內數據量達到2kbyte時,信號f_fifo_hf變高,此時啟動一次單周期讀訪問,LW/R#為低,通過地址0008h將數據87h上傳給上位機。實際時序與第3節介紹的本地總線向CPCI總線傳輸數據的理論時序一致,對接收到的數據文件進行分析,數據結構完整,數據包計數連續,沒有丟數現象,驗證了本設計中本地總線向CPCI總線傳輸數據的正確性。如圖6所示,上位機向FPGA下發控制信號,此時啟動一次單周期寫訪問,LW/R#為高,FPGA通過地址0004h獲得命令代碼67h。實際通信時序與第3節介紹的CPCI總線向本地總線傳輸數據的理論時序一致,且命令下發正確,驗證了本設計中CPCI總線向本地總線傳輸數據的正確性。
5總結
關鍵詞:CPUIC卡TDA8007ISO7816
IC卡(IntegratedCircuitcard)即集成電路卡,是將一個集成電路芯片鑲嵌于朔料基片中,封裝成卡的形式,外形與常用的覆蓋磁條的磁卡相似。IC卡芯片具有寫入和存儲數據的能力。IC卡存儲器中的內容根據需要可以有條件地供外部讀取,或供內部信息處理和判定。根據卡中所鑲嵌的集成電路的不同,可以分成存儲器卡、邏輯加密卡、CPU卡三類。其中CPU卡即為由中央處理器CPU、EEPROM、隨機存儲器RAM以及固化在只讀存儲器ROM中的片內操作系統COS(ChipOperationSystem)組成的IC卡。IC卡按與外界數據傳送的形式來分,有接觸式和非接觸式兩種。
圖1T=0的CPU卡APDU指令實現流程
1CPUIC卡T=0的協議介紹
目前大多數CPUIC卡采用T=0模式。所謂T=0,即CPUIC卡與接口設備(即讀寫器)中數據傳輸方式為異步半雙工字符傳輸模式。
從T=0協議的功能出發,該協議的實現可以分為物理層、數據鏈路層、終端傳輸層和應用層。其中物理層和數據鏈路層可以具體參看ISO7816標準。在T=0協議應用,終端傳輸層和應用層實際上是不易分割來說明的,下面簡單說明。
終端傳輸層根據卡片返回的過程字符和狀態字節執行相應的操作,使讀寫器對數據的處理過程明朗清晰。卡片返回的過程字節和狀態字節跟應用層發送給卡的APDU(ApplicationProtocolDataUnit,應用協議數據單元)和VPP使用等有關。表1為VPP未用時的終端傳輸層中返回的過程字節。
表1
字節值結果
ACKINSVPP空閑,所有其余的數據字節相繼續被傳送
INS+''''FF''''VPP空閑,下一個數據字節隨后被傳送
SW1SW2VPP空閑,接口設備等待SW2字節
應用層即為由CLA、INS、P1、P2、P3作為命令頭組成的命令消息體的APDU響應和應答處理層。其中CLA為指令類別,INS為指令碼,P1、P2為參數,P3為根據APDU的不同格式為發送給卡的數據長度或期望響應的數據長度。APDU的幾種情況如表2所列。
表2
命令頭發送數據長度發送的數據期望應答的數據長度
通用APDUCLAINSP1PLCDataLE
情況一CLAINSP1P
情況二CLAINSP1PLE
情況三CLAINSP1PLCData
情況四CLAINSP1P2LCDataLE
CPU卡對接口設備(即讀寫器)的應答APDU情況如表3所列。
表3
體尾
數據DataSW1SW2
其中體中的數據字節數由命令APDU中的LE指出;SW1、SW2是必備的,可以指明命令APDU執行正確或執行出錯的錯誤類型。
2基于T=0傳輸協議的CPUIC的APDU指令流程
根據目前CPU卡的常用T=0協議、自帶編程升壓電路的應用情況,以及本讀寫器接收IC卡數據報文直接發送PC機處理的特點,本讀寫器可行的APDU命令和響應的處理流程如圖1所示。
3讀寫器的硬件組成
讀寫器的硬件部分主要由IC接口管理芯片TDA8007、MCUAT89C52、外部數據存儲器W24257S、串口電平轉換芯片MAX3226、安全IC卡座(即SAM卡座)、應用IC卡座、鍵盤口供電的串口通信線及其它相關元器件組成。
圖2所示為通過PC機控制管理的外置于PC機的接觸式CPUIC卡讀寫器。通過定制的數據線,該讀寫器的5V直流電源可直接由鍵盤口提供,同時數據線還負責PC機與讀寫器的串行數據交換。在大部分IC卡讀寫應用中,都涉及到IC卡的認證和數據讀寫的國解密問題,所以本讀寫器除了提供一個供用戶使用的IC卡接口卡座外,還內置了一個SAM卡,即安全IC卡卡座,以方便安裝SAM卡,保證應用IC卡讀寫時的數據安全,保護用戶的利益。
硬件的其它組成部分,如處理器,目前采用Atmel的89C52。其4KB的Flash程序存儲器可以滿足讀寫器的程序空間需要。由于PC機與89C52、89C52與TDA8007的數據交換要求的暫存數據空間比較大,89C52提供的256字節不夠,需外加一片數據存儲器。本讀寫器中使用的是華邦的W24257S。其有32KB存儲容量,IC接口部分的主要芯片為Philips的TDA8007。
4IC卡接口芯片應用
下面介紹一下TDA8007及其應用。TDA8007的原理結構如圖3所示。
TDA8007芯片能夠提供兩個能同時滿足ISO7816標準及EMV和GSM11-11標準的IC卡讀寫接口。在本讀寫器中,一個用于與應用IC通信,另一個用于與安全IC卡通信。與上文CPU卡的觸點圖相對應,CLKi、RSTi、VCCi、I/Oi、GNDCi、PRESi、C4i、C8i(其中i=1,2;C4i、C8i未用;PRESi可用于檢測IC卡是否插入。具體應用可參看TDA8007的技術文檔)都直接由TDA8007提供給IC卡接口相連,MCU只需通過其接口控制并行通信來管理TDA8007,便可實現對IC卡的上電、下電及讀寫數據處理。其中,微處理器既可以通過總線復用把TDA8007內部的所有寄存器作為外部存儲器,用MOVX尋址,也可以通過非總線復用方式訪問,此時TDA8007用AD0~AD3來區分內部各寄存器。另外,TDA8007的片選信號和外部中斷信號線可以方便讀寫器處理多個IC卡頭。TDA8007的特別硬件ESD處理、接口短路處理、電源出錯處理等也給IC卡和IC卡讀寫器提供了比較高的安全保護;同時,TDA8007內部集成的電源管理功能允許TDA8007的供電范圍可達2.7~6.0V,并且TDA8007通過電源管理可以給IC卡提供5.0V、3.0V及1.8V的電源,以適合不同工作電壓的IC卡應用。
圖3IC卡接口芯片TDA8007的原理框圖
本讀寫器是通過總線復用對TDA8007的寄存器進行控制的。其中MCU的P1.5為TDA8007的片選,P0口為與之通信的8位數據線,TDA8007的各寄存器預先被宏定義的成微處理器的一個外部數據單元(下面電程序處的定義),從而方便MCU訪問。下面結合TDA8007寄存器的定義和位分配,給出應用TDA8007接口芯片對IC卡進行上電激活和下電的程序。TDA8007的寄存器主要三類。第一類,通用寄存器:①卡槽選擇CSR;②硬件狀態HSR;③定時器TOR1、TOR2、TOR3。第二類,ISO7816串行處理寄存器:①串行狀態USR;②混合狀態MSR;③串行發送UTR;④串行接收URR;⑤隊列控制FCR。第三類,卡專屬寄存器:①可編程分頻PDR;②保護時間GTR;③串行控制UCR1、UCR2;④時鐘配置CCR;⑤上電控制PCR。注意:對于卡專屬的寄存器,即卡接口1、卡接口2分別對應的寄存器,邏輯上具有相同的名及訪問地址,因而,對不同的瞳操作,需要通過CSR選擇對應的卡槽來切換卡專卡屬寄存器的映射的物理空間。所以,接口設備每次從一個卡的上下電或讀寫轉向另一卡,都需要訪CSR設定對應的卡槽。對于每個寄存器的位定義不再多述,主動性者可參看TDA8007的技術文檔。
5上下電過程及具體程序
圖4為IC卡的上電時序圖。要實現之,需對PCR進行寫操作。其中START=PCR.0,RSTIN=PCR.2,VUP上升表示激活了TDA8007中的電壓轉換電路。當START置高時,只要能檢測到選定卡槽中的IC卡存在,且沒有TDA8007能檢測到并在HSR中指示的硬件錯誤出現,則對應IC卡接口的VCC1或VCC2將能被提供響應的電平(5V、3V或1.8V)。隨后對應卡的I/O數據線被置成高狀態(Z狀態),給IC卡提供設定的時鐘信號,常用為3.5712MHz。大約在START置高108ETU后,RSTIN置高。因為RST為RSTIN的拷貝,則對應卡的RST被置高。然后,用TDA8007提供的定時器TOR3、TOR2設定對ATR(AnswerToRequest)即復位應答首字節的最大等待時間120ETU(ElementTimeUnit),TOC設定定時器工作方式,便開始等待ATR首字節到來后做相應處理。至此,IC卡上電激活工作完成,隨后可以根據ATR字節的要求的工作方式對IC卡進行相應的讀寫處理。具體見上電程序。
圖4TDA8007產生滿足ISO7816標準訴IC卡上電激活時序
TDA8007寄存器訪問的預定義
#include<absacc.h>
#defineXXXXBYTE[0x8000]//XXX表示CSR等各寄存器上電程序如下:
P1.5=0;//片選TDA8007
CSR&=0xf8;
CSR|=ncard;//選擇卡,ncard=1,2
CSR&=0xf7;
CSR|=0xf7;
CSR|=0x08;//復位UART的寄存器
UCR2&=0xf7;//異步模式,SAN=0
CCR&=0xdf;//時鐘停止于低電平
UCR2|=0x60;//關閉附加中斷及收發中斷
GTR=0xff;//保持時間12ETU
If(v==1)//v為函數變量
PCR|=0x08;//1.8V卡用
elseif(v==3)
PCR|=0x02;//3V卡用
Else
PCR&=0xfd;//5V卡用
UCR2&=0xfc;//CKU=PSC=0,--31
FCR=0x00;//1奇偶校驗1FIFO
PDR=0x0c;//Divider=12
CCR=0x00;//不分頻
PCR&=0xfb;//RSTIN=0
UCR2|=0x04;//不自動轉換
UCR1=0x01;//正向約定
UCR1&=0xf7;//接收模式
flag3=0;//復位定時標志
flagatr=0;//接收ATR首字節定時標志
PCR|=0x01;//激活
TOR2=0x6c;
TOR3=0x00;
TOC=0x61;//RST拉高前等待108ETU
while(flag3==0);//定時時間到,在中斷中設置flag3=1
TOC=0x00;//關閉定時器
PCR|=0x04;//給復位拉高
TOR2=0x78;
TOR3=0x00;
TOC=0x61;//RST拉高前等待
flagatr=1;
ATR();//復位應答處理函數
圖5為IC卡的下電時序圖。相對于上電時序,下電過程對時間的要求不是很嚴格,只要設計者控制TDA8007按照一定的順序置低START、RSTIN和停止CLK即可,然后TDA8007會自動逐步釋放RST、I/O、Vcc及VUP。具體處理見下電程序。
下電程序:
P15=0;
PCR&=0xfe;//START=0;下電
PCR&=0xfb;//卡的復位腳保持0
CCR&=0xdf;//停止時鐘于低
CCR|=0x10;//停止時鐘
P15=1;
6使用TDA8007應當注意的問題
TDA8007對于Vcc、RST出錯,芯片過熱(如圖IC卡為電源短路卡或金屬片),或IC卡插入拔出時都會產生中斷輸出。每次中斷處理結束,應注意把HSR中的值讀入一個臨時地址,以便清楚HSR中的標志。
每次發送數據到IC前,即接收IC卡的最后一個數據之前,應設置寄存器UCR1中的LCT位,以便接收完IC卡的數據后,自動切換成發送狀態。
對TDA8007部分布線時應注意,時鐘信號線與其它線的隔離:最好被地線包圍。
對于電路板上TDA8007部分的電容應盡量靠近TDA8007,其中電容Cap、Cbp、Cup尤其如此,并最好不要在這些電容連向TDA8007引腳過程中使用過孔;同時,Cap、Cup、Cbp電容的ESR要盡量小。
對TDA8007處理的兩個IC卡座中的任何一個執行上電、下電、讀寫卡操作之前,必須執行選擇卡座的操作函數,以便選中具體的IC卡進行處理。
對IC卡操作中上電時序中的定時,讀寫卡字節間等待定時等都可使用TDA8007中的定時器及定時控制器操作,注意其定時器為向下計數方式。
關鍵詞:非接觸式IC卡高頻接口電路整流穩壓模塊調制解調模塊
引言
隨著微電子和無線通信技術的發展,非接觸式IC卡技術也得到蓬勃發展,但國內設計非接觸IC卡的技術不夠成熟。高頻接口電路設計是非接觸式IC卡設計的關鍵技術之一,文中將介紹一種高頻接口電路的設計。
1IC卡的基本結構
圖1是一個具有邏輯加密功能的非接觸式IC卡的結構方塊圖。對于具有邏輯加密功能的非接觸式IC卡,一般包括IC芯片和天線線圈(耦合線圈)。IC芯片又包括高頻接口電路、邏輯控制電路、存儲器等部分。
2高頻接口模塊設計
IC芯片內的高頻接口電路是非接觸式IC卡的模擬、高頻傳輸通路和芯片內的數字電路之間的一個接口。它從芯片外的耦合線圈上得到感應電流,整流穩壓后給芯片提供電源。從閱讀器發射出來的調制高頻信號,在高頻界面經解調后重新構建一產生在邏輯控制電路中進一步加工的數字式串行數據流(數據輸入)。時鐘脈沖產生電路從高頻場的載波頻率中產生出用于數據載體的系統時鐘。圖2為具有負載調制器的高頻界面方框圖。
為了將芯片內處理后的數據傳回到閱讀器,高頻界面也包括有負載波調制器或反向散射調制器。它們由傳送的數字化數據控制。
圖3為卡的模塊結構框圖。整流穩壓模塊主要是接收閱讀器發來的載波,將載波信號轉變成直流信號,以作為非接觸IC卡內部芯片的電源使用;同時不能因為閱讀器發來的不間斷載波而使芯片內部電源電壓無限增大。調制解調模塊主要是將閱讀器發來的信號從載波信號中取下來;在IC卡發送信號時將內部的數字信號轉換成模擬信號,并上載到載波信號中以傳輸給閱讀器。
(1)整流穩壓模塊的設計
該模塊主要包括基準源電路、電壓調節電路和電源開關電路。基準源電路由二級CMOS差分放大電路和晶體管電路構成的能隙基準源組成。其結構如圖4。
有源電阻P0和多晶電阻R7組成偏置電路,為電路提供偏置電流。二級差分放大器的兩個輸入連接在Q1端和Q2端。由基準源原理可知,只有放大電路的輸入失調電壓很小,并且不受溫度的影響時,基準源的輸出才可以保持好的性能。根據放大器和能隙基準源原理可得:
I1R6=I2R4(1)
由(1)式可知,電路中放大器的輸入失調電壓幾乎為零,故穩定后REF點的電壓值為:
VREF=VQ1+VR6=VQ1+R6I1=VQ1+I2R4(2)
因PNP晶體管的基極和集電極相連,故VQ1值相當于晶體管中BE結二極管的正向壓降VBE值,為0.6~0.8V。
晶體管中BE結溫度系數為負,電阻溫度系數為正,在(2)式中VQ1和VR6隨溫度的變化可以相互補償,故該基準源的輸出VREF對溫度變化不敏感。電壓調節電路是穩壓電路中的核心部分,包括兩個一級CMOS差分放大電路COMP和電壓調節及反饋電路,如圖5。
兩個差分放大器的輸入由分壓電阻得到。比較放大后經反饋調節和限流保護電路得到MA1和MB1,以控制電源開關電路中開關管的開啟和截止。
電源開關電路由儲能電容,NMOS管構成的整流器及開關電路組成,如圖6所示。P1、P2直接連到線圈L0的兩端。通過電磁耦合在P1、P2上感應出交流電;經整流后,在儲能電容C0端產生直流電壓VDD。調壓電容C5在N2管導通后構成放電回路,使P1、P2上的電流開始對C5充電而停止對C0充電,C0兩端電壓保持穩定,即為負載電路提供穩定的電源電壓。
(2)調制解調模塊
關鍵詞:PLC,溫度程序,可編程終端
1 引言
S7-200 是一種小型的可編程序控制器,適用于各行各業,各種場合中的檢測、監測及控制的自動化。S7-200系列的強大功能使其無論在獨立運行中,或相連成網絡皆能實現復雜控制功能。論文格式,PLC。因此S7-200系列具有極高的性能/價格比。
脈動真空蒸汽滅菌器的工作原理是采用設備自身的真空系統強制抽出滅菌室內的空氣,再導入飽和純蒸汽并維持一定的時間、一定的溫度(壓力)。當飽和純蒸汽與被滅菌物接觸時利用散熱原理導致細菌微生物的蛋白質變性死亡,從而達到滅菌消毒的作用。當滅菌過程結束后,再排出滅菌室內的蒸汽,啟動真空系統對內室抽真空,抽出內室的蒸汽及滅菌物品內水份,從而達到對滅菌物品干燥的作用。
2 設計方法
2.1電控系統的設計
根據設備運行的流程及所要控制的電氣元件,安排PLC的接口,寫出I/O地址分配表。
表1 PLC I/O地址分配
Table 1 PLC I/O addressassignment
觸摸屏與PLC COM1口進行通訊,打印板通過PLC COM2口進行通訊。論文格式,PLC。
圖1 人機界面聯接
Figure 1 man-machine interface connection
2.2程序設計
該設備共設置六種滅菌方式,每種滅菌有三步驟,因此在設計程序時需要六個標志位(M儲存區)來控制參數的傳送和程序的運行。
設備采用溫度壓力雙重控制運行步驟。下面就對溫度與壓力采集進行一下詳解。
在滅菌室內用Pt100鉑電阻檢測室溫,然后送給PLC的模擬量輸入模塊,經A/D轉換后得到與溫度成比例的數字量,CPU將它與溫度給定值比較來控制進蒸汽閥門,實現對溫度的控制。
圖2 溫度采集程序
Figure2 temperature collection procedures
在溫度數據采集程序中我們可以看到,首先將EM231采集的模擬量數據傳送至VW4814,然后進過計算與濾波處理得到溫度值。論文格式,PLC。
在滅菌室內用壓力傳感器檢測內室壓力,然后送給PLC的模擬量輸入模塊,經A/D轉換后得到與壓力成比例的數字量,CPU將它與壓力給定值比較來控制進蒸汽閥門,實現對壓力的控制。
圖3 壓力采集程序
Figure3 pressure collection procedures
在壓力數據采集程序中我們可以看到,首先將EM231采集的模擬量數據傳送至VW4818,然后進過計算與濾波處理得到壓力值。論文格式,PLC。
2.3控制畫面的設計
該設備使用了MT6056i觸摸屏,其參數為:400MHz CPU,128MB內存,5.6寸,TFT LCD,分辨率320x234,1個USB2.0接口。能實時監視系統和設備的運行狀態、運行參數,及時報告設備的故障和解決方法,對現場設備進行操作。論文格式,PLC。
在畫面設計時,我們可以通過6056的編程軟件中的“PLC控制”元件來控制畫面的跳轉,如設置VW0為畫面切換設置地址,將需要切換的畫面號送入VW0即可切換畫面。論文格式,PLC。
圖3 運行畫面
Figure 3Operation
畫面中的文字顯示可以在字符串中設置,并且在對應的數據區里寫入各個字符的數值。其中溫度和時間的可以通過數值顯示元件進行顯示。
3 結束語
在脈動真空滅菌器上應用PLC,提高了設備的自動化程度,使設備可靠、穩定地運行。存在不足之處就是在溫度方面采用了開環控制,溫度得不到很好的控制,其波動性較大。
參考文獻
[1]SIEMENSSIMATICS7-200可編程序控制器
[2]殷洪義主編可編程序控制器選擇設計與維護機械工業出版社2003
[3]宋伯生編著可編程控制器----配置編程聯網中國勞動出版社1998
[4]朱善君等編著可編程序控制系統----原理應用維護清華大學出版社1994