應(yīng)用于晶體管圖示儀的CPLD控制器設(shè)計
3.2 控制器內(nèi)部構(gòu)成
控制器內(nèi)部(見圖4)主要模塊有計數(shù)器、脈沖分配器和觸發(fā)器。計數(shù)器為100進制,輸入時鐘周期為1μs,這樣計數(shù)器計滿一個循環(huán)就是100μs(即一個數(shù)據(jù)采集的時間)。脈沖分配器的作用是對100 μs內(nèi)的時間再進行細分,使每1μs時間都可以輸出脈沖(根據(jù)需要)。觸發(fā)器由脈沖分配器觸發(fā)產(chǎn)生任意寬度的脈沖(見圖5)。圖中COUNT100_Y18模塊實現(xiàn)了100進制計數(shù)器和脈沖分配器的功能,DFFA1~DFFA4是增強的D觸發(fā)器模塊,DFFA2的R1~R3是清0端,S1~S3是置1端,DFFA2,DFFA3和DFFA4結(jié)構(gòu)相同。本文引用地址:http://m.butianyuan.cn/article/191839.htm
連接RAM的控制信號有兩個,即讀寫信號SRAM_OE和片選信號SRAM_WE。連接A/D轉(zhuǎn)換器的控制信號有4個,即片選信號A/D_CE、寫信號A/D_WR、讀信號A/D_RD和高低字節(jié)選擇信號A/D_HEEN。地址計數(shù)器和74LS373鎖存器的控制信號也要與上述時序配合。
3.3 控制器的工作過程
控制器輸出端時序圖如圖5所示。單片機先向鎖存器存入一個控制字,設(shè)置輸入模擬通道、輸入通道量程、掉電模式和內(nèi)外時鐘選擇等信息,然后向控制器發(fā)出采集指令(Start_A/D變?yōu)楦唠娖?。當(dāng)掃描電壓到來時(圖中TB50 Hz變?yōu)楦唠娖?,COUNT100_Y18開始計數(shù)并輸出脈沖,通過觸發(fā)器在不同時間產(chǎn)生不同寬度的脈沖。COUNT100_Y18的第1~4個脈沖產(chǎn)生A/D轉(zhuǎn)換器片選信號A/D_CS和74LS373讀信號(圖5波形1),第2個脈沖產(chǎn)生A/D轉(zhuǎn)換器寫信號A/D_WR(圖5波形2),把74LS373的數(shù)據(jù)寫入MAX197,啟動A/D開始轉(zhuǎn)換。待轉(zhuǎn)換結(jié)束(第8個脈沖結(jié)束轉(zhuǎn)換)后,COUNT100_Y18的第10H~14H脈沖產(chǎn)生A/D轉(zhuǎn)換器片選信號A/D_CS和RAM2片選信號SRAM_CE(圖5波形3和5),第11H~14H脈沖產(chǎn)生A/D轉(zhuǎn)換器的讀信號A/D_RD(圖5波形7)。第15H脈沖把A/D_HEEN置為高電平,選通數(shù)據(jù)的高字節(jié),而第17H~1BH脈沖再次產(chǎn)生A/D_CS,SRAM_CE,A/D_RD和SRAM_WE(圖5波形4,6,8和10),把數(shù)據(jù)的高4位存入存儲器中。這樣一個數(shù)據(jù)的采集宣告結(jié)束。
當(dāng)時間達100μs時,重復(fù)上述過程,進行下一個數(shù)據(jù)的采集。當(dāng)RAM存滿100個字節(jié)后,控制器向單片機返回采集結(jié)束信號,單片機通過串口將100個字節(jié)的數(shù)據(jù)批量傳遞給上位機。
4 結(jié) 語
在設(shè)計過程中,首先用VHDL語言編寫COUNT100_Y18和DFFA1~DFFA4等模塊,經(jīng)Max+PlusⅡ編譯和仿真通過,再連接各模塊形成頂層圖形文件(圖5)。對頂層圖形文件再進行編譯和仿真,通過后將程序下載到芯片中。單片機主要編寫顯示程序、階梯電流驅(qū)動程序和串口通信程序,均調(diào)試通過。上位機界面用VB語言實現(xiàn),畫面清晰美觀,控制方便。結(jié)論表明,把CPLD技術(shù)用于改造傳統(tǒng)晶體管圖示儀,效果是明顯的,儀器性能有很大提高。
評論