




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、畢 業 論 文(設計)題 目: 基于80C51單片機和TLC2543的多路 數據采集系統設計 學 號: 姓 名: 年 級: 學 院: 信息科學技術學院 系 別: 電子通信系 專 業: 通信工程 指導教師: 完成日期: 在工業生產和科學技術研究的各行業中,常常利用PC或工控機對各種數據進行采集。數據采集技術是信息科學的重要分支,是傳感器、信號獲取、存儲與處理等信息技術結合。Philips公司推出的增強型80C51系列P89C51RA2組成多路高精度的數據采集系統。這個數據采集系統特點是實現低成本、高可靠性、多點的數據采集,并且具有易實現、 、易編程、移植 、體積小、功耗低等優點。該系統還可通過U
2、SB數據總線接口與PC機進行數據通信,達到在PC機上實時的顯示、存儲和處理采樣數據的目的。以上所有的特性使得本系統可很好的應用于實驗室或工業現場等多種場合的多路數據實時采集。關鍵詞:數據采集AbstractPC and Industrial PC are often utilized in all walks of life in industrial production and scientific research to acquire various data. Data acquiring technology is an important branch of informatio
3、n science, and it combine transducer, signal obtaining, information storing and processing together. This paper adopts 11 analog input channels and 12-bit -analog-to -digital converter called TLC2543 from TI Company and enhancement mode 80C51 series signal-chip computer called P89C51RA2 from Philips
4、 Company to form the multi-function and high-accuracy data gathering. With small size and low power consumption, this kind of data gathering technology is easy to realize, program, and transplant. This system also can carry on data communication with PC through USB data bus interface and PC, and it
5、can finally achieve display, memory, and sample processing. With the characteristics mentioned above this system will be well applied in the laboratory, industry, or other departments where the multi-function real time data acquire technology can be used.Keyword: TLC2543 ; A/D converter; data acquis
6、ition目 錄IAbstractII1 引言- 1 -1.1 研究意義- 1 -1.2 研究內容- 1 -2 數據采集系統的構成- 2 -3 基于USB的數據采集系統的硬件設計- 3 -3.1系統的原理及其組成- 3 - 5 -3.2.1 單片機芯片選擇- 5 -3.2.2 模數轉換芯片選擇- 6 - 8 - 9 - 10 - 11 - 11 - 14 - 14 - 14 -4.1.2 接口時序- 14 -4.2 采集模塊程序設計- 16 -4.2.1 A/D轉化程序設計- 17 -5 系統調試- 18 -6 結束語- 20 -致 謝- 21 -參考文獻- 22 -附錄 A:A/D轉換程序-
7、 23 -附錄 B:主程序- 26 -1 引言1.1 研究意義在工業生產和科學技術研究的各行業中,常常利用PC或工控機對各種數據進行采集。數據采集技術是信息科學的重要分支,是傳感器、信號獲取、存儲與處理等信息技術結合。將外部世界存在的溫度、壓力、液位等轉換為模擬或數字信號,再傳送到計算機作進一步處理的這一過程,即“數據采集”。數據采集已在工農業,醫藥衛生,生態環境,航天航空,軍事,氣象等領域得到了廣泛的應用,可以通過對信號測量,處理,控制及管理,實現測、控、管的自動化與系統化。而利用Philips公司推出的增強型80C51單片機系列P89C51RA2和TI公司的11路12位串行模數轉換芯片TL
8、C2543組成多路高精度的數據采集系統,很容易就能實現低成本、高可靠性、多點的數據采集。并可通過USB數據總線接口與PC機進行數據通信,在PC機上實時地顯示和存儲采樣數據,本系統可應用于實驗室或工業現場等多種場合的多路數據實時采集。1.2 研究內容2 數據采集系統的構成在任何計算機測控系統中,都是從盡量快速,盡量準確,盡量完整的獲得數字形式的數據開始的。因此,數據采集系統作為溝通模擬域與數字域的橋梁起著非常重要的作用。70年代初,隨著計算機技術及大規模集成電路的發展,特別是微處理器及高速A/D轉換器的出現,數據采集系統結構發生了重大變革。原來由小規模集成的數字邏輯電路及硬件程序控制器組成的采集
9、系統被微處理器控制的采集系統所代替。因為由微處理器去完成程序控制,數據處理及大部分邏輯操作,使系統的靈活性和可靠性大大的提高,系統的硬件成本和系統的重建費用大大的降低。數據采集系統一般由信號調理電路,采樣保持電路,A/D轉換芯片,微處理器組成。結構框圖如圖1所示。采樣保持電路A / D轉換微處理器信號調理電路圖1 數據采集系統結構框圖其中信號調理電路,它是傳感器與A/D之間的橋梁,也是測控系統中重要組成部分。信號調理的主要功能是:(1)目前標準化工業儀表通常采用010Ma,420mA信號,為了和A/D的輸入形式相適應,必須經I/V變換成電壓信號。(2)某些測量信號可能是非電壓量,如熱電阻等,這
10、些非電壓量信號必須變為電壓信號,還有些信號是弱電壓信號,如熱電偶信號,必須放大,濾波,這些處理包括信號形式的變換,量程調整,環境補償,線性化等。(3)某些惡劣條件下,共模電壓干擾很強,如共模電平高達220V,不采用隔離的辦法無法完成數據采集的任務,因此,必須根據現場環境,考慮共模干擾的抑制,甚至采用隔離措施,包括地線隔離,路間隔離等等。綜上所述,非電量的轉換,信號形式的變換,放大,濾波,共模抑制及隔離等等,都是信號調理的主要功能。信號調理電路包括電橋,放大,濾波,隔離等電路。根據不同的調理對象,采用不同的電路。電橋電路的典型應用之一就是熱電阻測溫。用熱電阻測溫時,工業設備距離計算機較遠,引線將
11、很長,這就容易引進干擾,并在熱電阻的電橋中產生長引線誤差。解決的辦法有:采用熱電阻溫度變送器:智能傳感器加通訊方式連接:采用三線制連接方法。信號放大電路通常由運放承擔,運放的選擇主要考慮精度要求(失調及失調溫漂),速度要求(帶寬、上升率),幅度要求(工作電壓范圍及增益)及共模抑制要求。常用于前置放大器的有uA741,LF347(低精度),OP-07(中精度),ICL7650(高精度)等。濾波和限幅電路通常采用二極管,穩壓管,電容等器件。用二極管和穩壓管的限幅方法會產生一定的非線性且靈敏度下降,這可以通過后級增益調整和非線性校正補償。此外,由于限幅值比最大值輸入值高,當使用多路開關時,某一路超限
12、時可能影響其他路,需要選用優質模擬開關如AD7501。共模電壓的存在對模擬信號的處理有影響。高的共模電壓會擊穿器件,即使沒有損壞器件,也會影響測量的精度。隔離是克服共模干擾影響的有效措施。常用的隔離方法有:光電隔離,采用隔離放大器等。3 基于USB的數據采集系統的硬件設計3.1系統的原理及其組成在工業生產和科學技術研究的各行業中,常需要對各種信號進行采集,如液位、溫度、壓力、頻率等。但傳統的采集方式是在PC機或工控機內安裝數據采集卡,采用這種方式不僅安裝麻煩、易受機箱內環境的干擾,而且由于受計算機插槽數量和地址、中斷資源的限制,不可能掛接很多設備。而通用串行總線的出現,很好地解決了上述這些沖突
13、,很容易就能夠實現低成本、高可靠性、多點的外置式數據采集系統,這不僅能提高系統的數據傳輸速度,還能增強系統的靈活性,同時有利于系統的維護。本USB的數據采集系統主要利用了A/D轉換技術、溫度控制技術、微處理器和USB技術,是伴隨著USB技術的迅速發展與新的數據采集技術的發展而發展起來的。采集到的數據通過主機接口(USB口)發送到PC機并實時顯示出來,其波形保真性能與A/D轉換器的轉換速率、分辨率與精度密切相關。A/D轉換速率越高,復現的波形的分辨率也就越高:A/D轉換器位數越多,精度越高,波形保真性越高。本系統總體結構圖如圖2所示。其中溫度控制技術、USB技術和數據采集波形的實現由第三方設計完
14、成,這里不在介紹。USB芯片CPU芯片USB接頭數據控制串行數據USB總 線主機USB 接口溫度采集電路數據采集電路數據命令數據控制圖2 USB數據采集系統總體結構圖基于USB的數據采集系統的數據采集模塊主要是由A/D轉換器、微處理器、電壓跟隨器等組成。數據采集系統的結構框圖如圖3所示:微處理器11路模擬輸入信號電壓跟隨器數據A/D轉換 器數據數據圖3 數據采集系統結構圖從以上兩個結構圖中可知,11路模擬輸入信號通過電壓跟隨器濾波后,輸出到A/D轉換器,微控制器把經過A/D轉換器轉換后的數字信號通過USB控制芯片輸出給計算機,同時可以在計算機上實現數據的顯示;而USB主機及顯示部分則通過輸出接
15、口在PC機上顯示,采用軟件來模擬顯示輸入信號的波形。同時可以控制A/D轉換器的啟停、數據存取器的存取、USB外設芯片的工作、顯示圖形的放大和縮小等。在選擇一個芯片時,用戶一般考慮的是芯片含有的功能、價位、是否容易取得以及是否容易開發等因素。一個芯片是否容易開發,視開發工具是否容易取得及其品質,設備的驅動程序,有無示例程序代碼,以及對設備結構等的了解而定,下面對本系統中芯片的選擇作一個簡單的介紹。 單片機芯片選擇本設計中我們采用了Philips公司推出的增強型80C51單片機P89C51RA2,此芯片包含8K可并行可編程的非易失性FLASH程序存儲器,并可實現對器件串行系統編程(ISP)和在應用
16、中編程(IAP)。在系統編程 ISP(In-System Programming),當MCU安裝在用戶板上時允許用戶下載新的代碼。在應用中編程 IAP(In-Application Programming),MCU可以在系統中獲取新代碼并對自己重新編程,這種方法允許通過調制解調器連接進行遠程編程片內ROM中固化的默認的串行加載程序Boot Loader允許。ISP 通過UART將程序代碼裝入Flash存儲器而Flash代碼中則不需要加載程序,對于IAP用戶程序通過使用片內ROM中的標準程序對Flash存儲器進行擦除和重新編程 該器件可通過并行編程或在系統編程的方法對一個Flash位進行編程,從
17、而選擇6時鐘或12時鐘模式。此外也可通過時鐘控制寄存器CKCON中的X2位選擇6時鐘或12時鐘模式,另外當處于6時鐘模式時外圍功能可以選擇一個機器周期6時鐘或是12時鐘,這是通過CKCON寄存器進行選擇的。該系列微控制器是 80C51 微控制器的派生器件是采用先進CMOS工藝制造的8位微控制器,指令系統與80C51完全相同。該器件有4組8位I/O口、3個16位定時/計數器、多中斷源-4中斷優先級-嵌套的中斷結構、1個增強型 UART 片內振蕩器及時序電路和擴展數據存儲器片內64K、PCA(可編程計數器陣列)、硬件看門狗定時器。新增的特性使得P89C51RA2成為功能更強大的微控制器,從而更好地
18、支持需要用到脈寬調制,高速I/O,遞增/遞減計數功能(如電機控制)等應用場合。 模數轉換芯片選擇近年來模數轉換技術發展很快,在功能增強、功耗降低的同時轉換速度也極大地提高,轉換頻率從幾百kHz提高到幾十MHz,而且芯片也較廉價,使用也日益廣泛。其A/D轉換器的種類也越來越多,目前使用廣泛的有:逐次逼近式A/D轉換器、余數反饋比較式A/D轉換器、雙積分A/D轉換器、V/F變換式A/D轉換器和式A/D轉換器等等。(1) 逐次逼近式A/D轉換器:速度高,外用元器件也不多,大多數單片集成A/D轉換器芯片多采用此種方式。但對快速變化的輸入信號應配備采樣保持器才能保證轉換精度的要求。此外,A/D轉換器本身
19、對輸入信號中的噪聲無抑制作用,必須采用外加軟硬件抗干擾措施,才能抑制輸入信號中大部分隨機干擾。(2) 余數反饋比較式A/D轉換器:這種轉換方式分辨率很高,量化誤差小,轉換精度高。這種轉換方式的速度主要受兩個因素的限制:一是每次循環進行電壓數字轉換的時間;二是余數模擬電壓的建立時間。目前,采用這種方式的A/D芯片,通過輔之以一些另外的技術措施,其轉換速度還是比較快的。(3) 雙積分A/D轉換器:抗干擾能力強,具有較高的轉換精度,電路結構簡單,編碼方便,但轉換速率低,常用于速度要求不高,精度要求較高的測量儀器儀表中。(4) V/F變換式A/D轉換器:由于應用了積分電容,具有很好的抗干擾性能、良好的
20、線性度和高的分辨率,電路結構簡單。缺點是轉換速率低,在一些非快速的檢測信道中愈趨向使用V/F變換式A/D轉換器代替通常的A/D轉換器。(5) 式A/D轉換器:它兼有反饋比較和積分式的特征,具有較強的抗干擾能力,量化噪聲小、分辨率高和線性度好的優點。轉換速率也高于積分式ADC,因此,式A/D轉換器是用于戶外智能儀器儀表和工業過程參數檢測控制的優先選擇。在本系統中,根據實際需要和性價比綜合考慮,采用了TI公司生產的TLC2543C,11路12位開關電容逐次逼近串行A/D轉換器,采樣率為66 kbit /s,在工作溫度范圍內10us轉換時間。具有三個控制輸入端:片選,輸入/輸出時鐘I/O CLOCK
21、以及地址輸入端AD_DIN。它還可以通過一個串行的3態輸出端AD_OUT與主處理器或其外圍的串行口通訊,輸出轉換結果。本器件可以從主機高速傳輸數據。除了高速的轉換器和通用的控制能力外,本器件有一個片內的14通道多路器可以在11個輸入通道或3個內部自測試(SELF-TEST)電壓中任意選擇一個。采樣-保持是自動的。在轉換結束時,轉換結束EOC輸出端變高以指示轉換的完成。本器件中的轉換器結合外部輸入的差分高阻抗的基準電壓,具有簡化比率轉換、刻度以及模擬電路與邏輯電路和電源噪聲隔離的特點。開關電容的設計可以使在整個溫度范圍內有較小的轉換誤差。此多通道,小體積的TLC2543C器件,線性誤差小 (
22、177;1 LSB max),節省I/O資源,成本較低,特別適用于單片機數據采集系統的開發。TLC2543的內部結構如圖4所示。圖4 TLC2543內部結構圖TLC2543內部由通道選擇器、輸入地址寄存器、采樣保持電路、12位的模數轉換器、輸出寄存器、并串轉換器以及控制邏輯電路等7個部分組成。通道選擇器根據輸入地址寄存器中存放的地址選擇輸入通道,并將輸入通道中的信號送到采樣保持電路中,然后在12位數模轉換器中將采樣的模擬量轉換成數字量,存放到輸出寄存器中,這些數據經過并行串行轉換器轉換成串行數據,由AD_OUT端輸出到微處理器中。在80C51系列微處理器中都不帶SPI或相同的接口能力,為了和T
23、LC2543模數轉換器接口,需要用軟件來合成SPI的操作,這樣數據傳送速率下降,受微處理器指令周期時間控制,因而受微處理器的時鐘頻率影響。因此要盡可能選擇微處理器的最高始終頻率,以減小指令周期時間,優化接口數據傳輸速率。如圖5所示,TLC2543和單片機的接口電路。TLC2543的轉換結束端EOC、I/O時鐘、串行數據輸入端AD_DIN、串行數據輸出端AD_OUT片選CS分別連接單片機的并行雙向I/O口1的管腳P1.0、P1.1、P1.2、P1.3、P1.4。在設計制作時要注意事項:(1)電源去耦當使用TLC2543這種12位A/D器件時,每個模擬IC的電源端必須用一個0.1F的陶瓷電容連接到
24、地,用作去耦電容。在噪聲影響較大的環境中,建議每個電源和陶瓷電容端并聯一個10F的鉭電容,這樣能夠減小噪聲的影響。(2)接地對模擬器件和數字器件,電源的地線回路必須分開,以防止數字部分的噪聲電流通過模擬地回路引入,產生噪聲電壓,從而對模擬信號產生干擾。所有的地線回路都有一定的阻抗,因此地線要盡可能寬或用地線平面,以減小阻抗,連線應當盡可能短,如果使用開關電源,則開關電源要遠離模擬器件。(3)電路板布線使用TLC2543時一定要注意電路板的布線,電路板的布線要確保數字信號和模擬信號隔開,模擬線和數字線特別是時鐘信號線不能互相平行,也不能在TLC2543芯片下面布數字信號線。在PCB設計中,布線是
25、完成產品設計的重要步驟,在整個PCB中,以布線的設計過程限定最高,技巧最細、工作量最大。布線的方式也有兩種:自動布線及交互式布線。由于本設計采用的是單面板且用交互式布線既手工布線。對于單面板,設計的難點是如何減少跳線情況下把線路布通。此次設計經過合理放置元件和多次改進,最后終于克服一切困難,在跳線很少的情況下把線路布通,達到了設計的目標。為了防止外部電磁干擾,采用了電路板外部用相對較寬的銅線構成非閉合的保護電路。在電路內部,直接用板上剩余空間的大面積接地來提高電路信號的穩定性。如圖10所示。PCB布線原則:(1)電源、地線的處理電源、地線的處理不好會引起干擾,使產品的性能下降,有時甚至影響到產
26、品的成功率。所以對電、地線的布線要認真對待,把電、地線所產生的噪音干擾降到最低限度。l 在電源、地線之間加上去耦電容,濾除噪音干擾。l 盡量加寬電源、地線寬度,最好是地線比電源線寬,它們的關系是:地線電源線信號線,對數字電路的PCB可用寬的地導線組成一個回路, 即構成一個地網來使用(模擬電路的地不能這樣使用)。 l 用大面積銅層作地線用,在印制板上把沒被用上的地方都與地相連接作為地線用。或是做成多層板,電源,地線各占用一層。(2) 數字電路與模擬電路的共地處理現在有許多PCB不再是單一功能電路(數字或模擬電路),而是由數字電和模擬電路混合構成的。因此在布線時就需要考慮它們之間互相干擾問題,特別
27、是地線上的噪音干擾。數字電路的頻率高,模擬電路的敏感度強,對信號線來說,高頻的信號線盡可能遠離敏感的模擬電路器件,對地線來說,整個PCB對外界只有一個結點,所以必須在PCB內部進行處理數、模共地的問題,而在板內部數字地和模擬地實際上是分開的,只是在PCB與外界連接的接口處(如插頭等),數字地與模擬地有一點短接,這在設計時必須考慮,只有一個連接點。也有在PCB上不共地的,這由系統設計來決定。(3) 設計規則檢查(DRC)布線設計完成后,需認真檢查布線設計是否符合設計者所制定的規則,同時也需確認所制定的規則是否符合印制板生產工藝的需求,一般檢查有如下幾個方面:線與線,線與元件焊盤,線與貫通孔,元件
28、焊盤與貫通孔,貫通孔與貫通孔之間的距離是否合理,是否滿足生產要求。 電源線和地線的寬度是否合適,電源與地線之間是否緊耦合(低的波阻抗),在PCB中是否還有能讓地線加寬的地方。 對于關鍵的信號線是否采取了最佳措施,如長度最短,加保護線,輸入線及輸出線被明顯地分開。 模擬電路和數字電路部分,是否有各自獨立的地線。 后加在PCB中的圖形(如圖標、注標)是否會造成信號短路。 (4) TLC2543的工作過程分為兩個周期:I/O周期和轉換周期。(1) I/O周期I/O周期由外部提供的I/O CLOCK定義,延續8、12或16個時鐘周期,決定于選定的數據長度。器件進入I/O周期后進行兩種操作。首先,在I/
29、OCLOCK的前8個脈沖的上升沿,以MSB前導方式從DATA INPUT端輸入8位數據流到輸入寄存器。其中前4位為模擬通道地址,控制14通道模擬多路器從11個模擬輸入和3個內部測試電壓中選通一路送到采樣保持電路,該電路從第4個I/O CLOCK脈沖的下降沿開始對所選信號進行采樣,直到最后一個I/O CLOCK脈沖的下降沿。I/O周期的時鐘脈沖個數與輸出數據長度(位數)同時由輸入數據的D3、D2位選擇為8、12或16。當工作于12或16位時,在前8個時鐘脈沖之后,DATA INPUT無效。其次,在DATA OUT端串行輸出8位、12或16位數據。當保持為低時,第一個數據出現在EOC的上升沿。若轉
30、換由控制,則第一個輸出數據發生在的下降沿。這個數據串是前一次轉換的結果,在第一個輸出數據之后的每一個后續位均有后續的I/O時鐘下降沿輸出。(2) 轉換周期在I/O周期的最后一個I/O CLOCK下降沿之后,EOC變低,采樣值保持不變,轉換周期開始,片內轉換器對采樣值進行逐次逼近A/D轉換,其工作由與I/O CLOCK同步的內部時鐘控制。轉換完成后EOC變高,轉換結果鎖存在輸出數據寄存器中,待下一個I/O周期輸出。I/O周期和轉換周期交替進行,從而可減小外部數字噪聲對轉換精度的影響。 接口時序可以用四種傳輸方法使TLC2543得到全12位分辨率,每次轉換和數據傳遞可以使用8、12或16個時鐘周期
31、。一個片選()脈沖要插到每次轉換的開始處,或是在轉換時序的開始處變化一次后保持 為低,直到時序結束。圖11顯示每次轉換和數據傳遞使用12個時鐘周期和在每次傳遞周期之間插入 的時序,圖12顯示每次轉換和數據傳遞使用12個時鐘周期,僅在每次轉換序列開始處插入一次 時序。圖 11 12時鐘時序傳送圖(使用,MSB在前)圖12 12時鐘時序傳送圖(不使用,MSB在前)4.2 采集模塊程序設計在系統上電后,必須從高變到低后開始一次I/O周期。EOC開始為高,輸入數據寄存器被置為全零。輸出數據寄存器的內容是隨機的,并且第一次轉換的結果將被忽略。為了對器件初始化,被轉為高再回到低后開始下一次I/O周期。在器
32、件從掉電狀態返回后的第一次轉換,由于器件的內部調整,讀數可能不準確。數據采集系統流程圖如圖13所示。系統上電m+,通道值是否大于14系統初始化通道、時鐘、極性設定采集通道m0A/D轉換程序返回數據AdResultdatah*256+datal到單片機否是圖13 數據采集系統流程圖采集程序設計為一個循環程序,在一個循環中完成以下工作:A/D轉換器通過AD_DIN從單片機接收命令字選取通道、時鐘和極性,然后進入采樣周期,在I/O周期的最后一個I/O CLOCK下降沿之后,EOC變低,采樣值保持不變,轉換周期開始,片內轉換器對采樣值進行逐次逼近A/D轉換,其工作由與I/O CLOCK同步的內部時鐘控
33、制。轉換完成后EOC變高,轉換結果鎖存在輸出數據寄存器中,待下一個I/O周期輸出。當下一個I/O周期開始時,A/D轉換器將上一次的轉換結果從AD_OUT串行輸入到單片機的外部存儲器中。4.2.1 A/D轉化程序設計在主程序Mainloop中使用函數init_ADC(m | OUTPUTLENGHT_12 | UNIPOLAR)對A/D芯片進行初始化,定義了系統的初始通道、時鐘模式以及極性。由于TLC2543有3種時鐘模式分別為8、12和16時鐘,其中默認的為12時鐘,出于對系統通用的考慮,在A/D轉換子程序中把它設計成可選時鐘模式。在本數據采集系統中,TLC2543輸出結果設置成12位無符號整
34、型數,輸出順序為高位在前且為單極性。在每一個A/D轉換過程中,TLC2543都要從串行輸入端AD_DIN讀取由單片機輸入的控制字來選定對某個或多個通道進行采樣,然后進行A/D轉換,轉換結果被存入輸出數據寄存器AD_OUT。在下一個I/O周期中,由數據輸出端AD_OUT串行輸出到單片機的外部寄存器。但是由于采集的為12 位數據,對于8 位單片機,要存放在兩個內存地址中,因此需要利用AdResult = datah *256+datal合成后再返回給主程序送入單片機。本程序不僅實現了14路模擬信號的數據采集而且可以任意選擇一路或多路進行數據轉換,同時合成了SPI功能使TLC2543A/D轉換芯片和
35、P89C51RA2單片機能夠快速的進行正常通信。但是還存在一定的問題,需要在后續工作中進一步改進。A/D轉換的詳細程序見附錄A。在 TLC2543 的編程中注意以下幾個問題: (1)一個輸入輸出工作周期為 12個時鐘信號,隨著12個時鐘信號的進入, TLC2543的AD_OUT 引腳送出的12 位數,為上一個工作周期的 A/ D 轉換數據,而這一數據是何通道的采集量,取決于上一工作周期從AD_DIN引腳送入TLC2543的控制字的前四位。那么對于系統上電后第一個工作周期,從 AD_OUT取出的數據是沒有意義的。(2)控制字的低4位決定輸出數據長度及格式,初始設定后,一般不要在運行過程中改變,以
36、免數據混亂。而在工作周期循環,若累加器 A 中數據沒有處理好,容易把非法的控制字帶入TLC2543,引起輸出數據格式錯誤,這一點應予特別注意。(3) 端控制著TLC2543的轉換初始化與輸入輸出。本文中端控制轉換過程,在輸入輸出數據過程必須保持為低,即在輸入12個時鐘信號期間必須保持0之后,端被置高,以便使由高到低的變化,而產生下一工作周期。 端被置高時,與 TLC2543相聯的其它三線呈高阻狀態,可為其它線路使用,硬件設計時,可設計為共享線路,軟件編程時,根據 情況決定誰使用這些線路。(4)對于轉換結果用二進制方式輸出,當輸入電壓等于時,轉換結果為 12個“1”,即(1111 1111 11
37、11),當輸入電壓等于 時,轉換結果為12個“0”,即(0000 0000 0000),當輸入電壓等于( + )/ 2 時,轉換結果為(1000 0000 0000),供校正參考。5 系統調試圖14顯示的就是在本論文中設計的USB數據采集系統實物圖。電壓跟隨器A/D轉換芯片圖14 USB數據采集系統結構圖在調試過程中從硬件到軟件由于經驗不足和知識水平的限制,走了不少彎路,但最終還是調試成功。現在總結一下,對于系統的進一步開發具有一定的積累意義。 (1) 拿到電路板之后不要急于焊接元件,要先認真檢查板子連線是否存在短 路、斷路的情況,在確認無誤之后,然后可以加電測試電源供電情況。正常后基本上就可
38、以開始焊接元件了,一般先焊帖片、電阻等元件,遵循由低往高的焊接順序。焊接完畢后加電,如果電路工作不正常,可以先檢查供電、是否存在虛焊、粘連的情況直至排除故障。 (2) 數據采集系統的調試主要是測試AD轉換是否正常。A/D電路的測試是通過采樣一組確定電壓并通過USB接口送往PC機觀察,由于TLC2543芯片有3個內測電壓即REF+、REF-、(REF+ +REF-)/2,它們的值是固定不變的,分別為5v、0v和2.5v,可以通過這3個通道的值來確定A/D電路采集的數據是否正確,同樣也得到AD電路能夠正常工作的結論。如圖15所示為應用程序的界面圖。圖15 應用程序的界面圖 如圖所示當按下確定按鈕時
39、,從通道1到基準波形3的14路模擬轉換通道就開始實時的變化,其中基準波形1,基準波形2,基準波形3這3個為TLC2543的內測電壓,AD轉換結果正確與否都主要觀察這個數值的變化。在轉換的過程中它們是基本上不變化的,如果有較大幅度的變化就說明轉換過程中存在著問題,使得轉換結果的精度和準確性下降,否則轉換的結果是正確的。6 結束語并可通過USB數據總線接口與PC機進行數據通信,在PC機上實時的顯示和存儲采樣數據。而且選用了體積小、功能全的12位TLC2543作為A/D轉換器同時采用C51對系統編程,使系統具有易實現、易編程、可移植、體積小、功耗低等優點 ,具有良好的推廣與應用價值。本系統可應用于實
40、驗室或工業現場等多種場合的多路數據實時采集。由于時間倉促和知識有限,致使許多部分都未能完善,存在著很多錯誤和問題,敬請各位老師同學提出、指正和批評。通過這次設計,對大學四年所學知識進行了一次檢驗和全面的復習,并且又學會了很多新的電子與計算機專業知識,從中得到了很多寶貴的經驗。致 謝設計中遇到的困難。通過與的討論和學習使我獲得了很多豐富的寶貴的經驗。那兢兢業業的治學態度、敏銳創新的科學思維和身體力行的工作作風是我收獲的最大財富,同時還要感謝海南大學信息學院的易家傅老師在此次設計中對我的精心指導,使我能順利完成此次設計。在設計過程中還有很多同學對我有很大幫助,特別是王新建同學、許元統同學,感謝他們
41、在我畢業設計過程中給予我的大力支持和耐心指導。還要感謝我的父母、哥哥、姐姐是他們在背后默默的支持我,僅以此文獻給他們。最后感謝海南大學四年來對我的培養,使我學到了很多的知識,這是本次設計成功的基礎。參考文獻1 梁合慶.增強核內存80C51教程.北京: 電子工業出版社,2003 .P1682102 劉文濤編著.單片機語言C51程序設計.北京:原子能出版社,2004 3 尹勇, 王洪成編著.單片機開發環境Vision2使用指南及USB固件編程與調試. 北京:北京航空航天大學出版社,2004.10 P1954 楊小川. Protel DXP設計指導教程.北京:博導創新科技有限公司,2003.115
42、TLC2543帶串行控制和11個輸入端模數轉換器中文應用筆記.武漢:武漢力源有限公司, 98-3-26 6 TLC2543中文數據手冊.武漢:武漢力源有限公司,98-6-307 王述全 孟臣 張福軍 基于串行接口方式單片機通用數據采集系統設計 2006-2-168 王宜懷 12位A/D轉換器TLC2543與51系列單片機接口技術.蘇州絲綢工學院學報,1999 年10 月,第19 卷第5期:45-509 黃天祿 郝東來 鄧玉元 用TLC2543 A/D轉換器設計數據采集系統.西安通信學 報,2004年6月,第3卷第3期10 程繼紅 TLC2543在傳感器實驗臺測試系統中的應用. 南京師范大學學報
43、(工程技術版),2003年,第3卷第1期11 盧鑫 龐偉正 新型模數轉換器TLC2543的串行接口及其應用. 器件與應用, 維 普資訊12 左克群 基于TLC2543設計的采集系統.計算機控制監測與管理,2003年第5期13 段軍 基于USB數據采集和控制系統的開發與研究.南京理工大學,2004年3月 14 LM324 四運放的應用. 51單片機實驗網 15 武漢辦 肖艷中 TLC2543在儀器儀表中的應用16 單片機C51論壇. 網址:附錄 A:A/D轉換程序/* /* / USB-DATACOMMUNICATION / File Name: ADC.C / Revision:1.1(200
44、6-05-20) / Author:Liu Shao Fei / Note: /*/#include <stdio.h>#include <string.h>#include <REG51Rx2.H> /* special function register declarations */#include "mainloop.h"#include "AD_Convert.H"#define uint unsigned int#define uchar unsigned charextern unsigned char
45、xdata ADCBuf;sbit AD_CLK = P11; /輸入/輸出時鐘(I/O CLOCK)sbit AD_DIN = P12; /串行數據輸入端sbit AD_DOUT = P13; /A/D轉換結果三態輸出端sbit AD_CS = P14; /片選端sbit AD_EOC = P10; /轉換結束端 /REF、REF:正、負基準電壓端。通常REF 接VCC,REF接地 /最大輸入電壓范圍取決于兩端電壓差;void clock_in() /時鐘脈沖AD_CLK=1;AD_CLK=0;void init_ADC(unsigned char TongDao) /AD初始化;我們只寫不
46、讀uchar j,k;if(TongDao&0x04)=0x00) /定義時鐘模式12,8,16 k=12;else if(TongDao&0x08)=0x00) k=8; else k=16;ADCBuf0=k;AD_CS=0;AD_CLK=0; /我們采集上邊沿for(j=0;j<k;j+)AD_DIN=(bit)(TongDao&0x80); /取tongdao最高位TongDao<<=1; /逐次取得通道數clock_in(); / 進行AD轉換,輸入:要進行AD轉換的通道號(tongdao)/ 輸出:AD轉換的結果unsigned int A
47、DC(uchar TongDao)uchar datah;uchar datal,i,k;unsigned int AdResult;datah=0;datal=0 ;if(AD_EOC=1)if(TongDao&0x04)=0x00) k=12;else if(TongDao&0x08)=0x00) k=8; else k=16;ADCBuf0=k;AD_CS=0;AD_CLK=0; /我們用片選來讀for(i=0;i<k;i+) /輸入k個時鐘 if(i<4) /輸出高4位 AD_DIN=(bit)(TongDao&0x80); TongDao<&
48、lt;=1; datah<<=1; datah|=AD_DOUT; else /輸出低8位數據 AD_DIN=(bit)(TongDao&0x80); TongDao<<=1; datal<<=1; datal|=AD_DOUT; clock_in(); AD_CS=1;AdResult=datah*256+datal;else AdResult=0xF000; return(AdResult);附錄 B:主程序/* /* USB-DATACOMMUNICATION / File Name:mainloop.C / Revision:1.1(2006
49、-05-20) / Author:Wang Xin Jian / Note:/*/#include <stdio.h>#include <string.h>#include <REG51Rx2.H> /* special function register declarations */#include "mainloop.h"#include "INTERRUPT_Server.H"#include "REQUEST_PROCESS.H"#include "AD_Convert.H&qu
50、ot;#include "TEMP_Gather.H"#include "D12_Interface.H"/*/*/ Public static data/*/extern EPPFLAGS bEPPflags;extern unsigned char idata GenEpBuf;extern unsigned char idata EpBuf;extern unsigned int data d12_addr;unsigned char xdata ADCBuf36=0,0,0,0,0,0;unsigned char xdata channelid;
51、unsigned int idata TEMPBufLow = 0;unsigned int idata TEMPBufHig = 0; extern unsigned int data D12_DATA; /D12_DATA輸出的是數據extern unsigned int data D12_COMMAND; /D12_COMMAND輸出的是命令unsigned char m = 0x00;/D12中斷服務usb_isr() interrupt 0 /0,外部中斷;1,定時器0溢出;2,外部中斷1; /3,定時器1溢出;4,串口中斷;5,定時器2溢出DISABLE; /EA為內外存儲器選擇控制端fn_usb_isr(); /調用D12中斷服務子程序ENABLE;void main(void) byte_count adcdata;byte_count tempdata
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司美味大餐活動方案
- 公司爬羊臺山活動方案
- 公司搬遷美食活動方案
- 公司旅游兩天策劃方案
- 公司春季出游活動方案
- 公司春游出行活動方案
- 公司漢服體驗活動方案
- 公司組織韶山活動方案
- 公司環保日活動策劃方案
- 公司游戲策劃方案
- GB 21258-2024燃煤發電機組單位產品能源消耗限額
- 貿易安全內部培訓教材
- 滬科版七年級數學下冊知識點
- TDSQL認證考試考題及答案-70分版
- 云南省大理白族自治州(2024年-2025年小學三年級語文)統編版期末考試(下學期)試卷(含答案)
- 2025年日歷( 每2個月一張打印版)
- 2023年北京海淀社區工作者考試真題
- 2024年國開電大 高級財務會計 形考任務4答案
- 幼兒園中班數學活動課件:有趣的排序
- 2023-2024學年廣西壯族自治區桂林市高二下學期期末質量檢測數學試卷(含答案)
- 化妝品行業聯合研發合同樣本
評論
0/150
提交評論