基于AT89C52和USB接口的數據采集系統(tǒng)設計
1 系統(tǒng)硬件設計
1.1 系統(tǒng)硬件組成
整個系統(tǒng)的硬件結構如圖l所示。AT89C52為主控單片機,負責控制A/D轉換、上傳采集數據、接收并執(zhí)行主機的命令。CY7C68013為USB接口芯片。A/D轉換芯片采用TI公司生產的TLC549,AD780是一款高精度參考電壓芯片,可為TLC549提供2.5 V或 者3.0 V的參考電壓。系統(tǒng)+5 V電源由主機的USB 接口提供,CY7C68013所需的電源為+3.3 V,由+5 v 電源接穩(wěn)壓芯片APlll7提供,圖中沒有畫出。
1.2 TLC549
TLC549是以8位開關電容逐次逼近A/D轉換器為基礎而構造的CMOS A/D轉換器,將其設計成能通過三態(tài)輸出與微處理器或外圍設備串行接VI。TLC549用輸入/輸出時鐘(I/O CLOCK)和芯片選擇(CS)輸入作數據控制,轉換結果由DATAOUT引腳輸出。I/o CLOCK端的最高頻率可達1.1 MHz。TLC一549片內系統(tǒng)時鐘工作在4 MHz(不需要外部時鐘)。片內系統(tǒng)時鐘使內部器件的操作獨立于串行輸入/輸出時序并允許TLC549像許多軟件和硬件所要求的那樣工作。I/O CLOCK和內部系統(tǒng)時鐘可以實現高速數據傳送,使得TLc549可實現40 kHz的采樣頻率。TLC549具有通用控制邏輯及自動工作或在微處理器控制下工作的片內采樣/保持電路,差分高阻抗基準電壓輸入端,易于實現比例轉換的高速轉換器,定標及隔離電路。整個開關電容逐次逼近轉換器電路的設計允許在小于17μs的時間內,以最大誤差±0.5為最低有效位的精度實現轉換。
1.3 CY7(368013及其固件程序
EZ—USB FX2系列芯片CY7C68013是業(yè)界第一個支持USB2.0,同時向下兼容USBl.1規(guī)范的單片機,為描述方便以下簡稱該芯片為FX2。FX2支持全速傳輸(12 Mb/s)和高速傳輸(480 Mb/s),該芯片將USB2.O收發(fā)器、串行接口引擎SIE、增強的8051內核、GPIF等集成于一體。FX2內含4 KB的端點緩沖區(qū)F1FO,可以被配置為具有不同大小緩沖區(qū)的IN或OUT端點(EP2,EP4,EP6,EP8),具有USB協(xié)議所規(guī)定的4種傳輸方式,即控制方式、中斷方式、批量傳輸、和同步傳輸方式。Cypress公司為FX2提供了完善的軟件開發(fā)工具包,降低了開難度,加快了開發(fā)進度。
FX2可以工作在3種不同的模式下完成USB數據的傳輸,即:Ports模式、GPIF模式和Slave FIFO模式。Ports模式下其uSB數據的傳輸主要在FX2的8051內核參與下完成,數據傳輸通過執(zhí)行指令實現,因此數據的傳輸率比較低,對大批量數據傳輸一般采用后兩種方式。GPIF方式,稱為通用可編程接口方式,在此模式下,FX2的FIFO是由內部的GPIF控制的,FX2利用由軟件編程輸出讀寫控制波形讀取FIFO標志,控制FIFO的選通,并且對外部設備提供了用戶專用接口,可以對許多通用總線接口進行訪問,如ASIC,DSP和存儲器等。文獻利用FX2的GPIF方式構建了LISB數據傳輸通道。Slave FIFO方式是將FX2的FIFO作為外部控制器(如FPGA或單片機)的從屬FIFO,外部控制器可像普通FIFO操作一樣對FX2的FIFO進行讀寫,而不考慮該包的大小,傳輸速率可明顯提高,文中FX2在Slave FIFO模式下工作。FX2有3種封裝形式:128引腳、100引腳和56引腳,這里選用FX2的56引腳的封裝形式。
FX2芯片在使用時必須先下載固件程序,固件程序主要負責完成芯片初始化,對芯片進行必要的配置、處理設備請求、進行數據傳輸等相應工作。用戶通過編寫適當的固件程序完成對FX2的設置。Cypress公司提供了一個固件程序開發(fā)框架可以大大簡化FX2芯片固件程序的開發(fā)難度。通過編寫用戶初始化函數TD_Init(),用戶可以規(guī)定各種端點資源的使用以及配置外圍接口的輸入/輸出等。其主要配置語句如下:
評論