冀 峰,羅貴隆
(山西職業(yè)技術(shù)學院,山西 太原030006)
當前互聯(lián)網(wǎng)和物聯(lián)網(wǎng)技術(shù)快速發(fā)展,微控制器以其運行速度快、體積小、安裝靈活、功能強大等特點,在工業(yè)生產(chǎn)和日常生活領域都有著極其廣泛的應用。51單片機作為微控制器家族的重要成員,在很多場合具有著獨特的優(yōu)勢,同時也是嵌入式開發(fā)者入門學習的重要控制器。
當前單片機實驗系統(tǒng)市場已經(jīng)非常成熟,有很多的公司開發(fā)了各種產(chǎn)品。經(jīng)過市場調(diào)研,目前市場上單片機實驗系統(tǒng)存在兩類問題,一是市場上買到的大多數(shù)單片機實驗系統(tǒng)盡管功能齊全,但都不支持在線實時調(diào)試和單步調(diào)試;二是實訓室供學生使用的多數(shù)單片機實驗系統(tǒng)都是通過采用仿真器來實現(xiàn)在線實時調(diào)試和單步調(diào)試。
針對以上需求和問題,本文提出了一種可動態(tài)實時調(diào)試的微控制器仿真實驗系統(tǒng)設計方案,該系統(tǒng)不需借助仿真器即可實現(xiàn)程序的在線實時調(diào)試,同時功能齊全、外圍擴展電路豐富[1],可有效滿足理實一體的教學要求,提升學生發(fā)現(xiàn)問題、分析問題、創(chuàng)新性解決問題的能力。
可動態(tài)實時調(diào)試微控制器仿真實驗系統(tǒng)的設計,分為系統(tǒng)模塊原理設計、系統(tǒng)硬件實現(xiàn)、系統(tǒng)功能實例開發(fā)、系統(tǒng)配套文檔編寫等幾個部分。系統(tǒng)模塊原理設計是整個系統(tǒng)完成的核心,需要從技術(shù)設計的合理性和學習者使用的實用性等角度出發(fā),系統(tǒng)性的規(guī)劃設計核心控制模塊和各外圍電路模塊;系統(tǒng)硬件實現(xiàn)是整個系統(tǒng)完成的基礎,系統(tǒng)各模塊的布局要求科學、合理、方便實用;系統(tǒng)功能實例開發(fā)是系統(tǒng)實用性的集中體現(xiàn),開發(fā)的實例項目要有典型性、實用性、先進性及綜合性;系統(tǒng)配套文檔編寫是系統(tǒng)開發(fā)的必備,編寫的文檔要求系統(tǒng)完整、分類明確、檢索方便、格式統(tǒng)一。
實驗系統(tǒng)硬件模塊,按照系統(tǒng)MCU控制、系統(tǒng)輸入輸出、系統(tǒng)擴展功能等三部分進行設計。其中,MCU控制部分是實驗系統(tǒng)的核心,負責數(shù)據(jù)的運算;輸入輸出部分進行數(shù)據(jù)的輸入、輸出及存儲;擴展部分包含多種外設,極大的豐富了系統(tǒng)的功能拓展。
實驗系統(tǒng)控制部分通常由主控芯片、時鐘電路部分、復位電路部分、電源電路部分及下載接口電路部分等組成。
本實驗系統(tǒng)主控芯片采用SST89C58的單片機。SST89C58單片機是美國SST公司推出的高速、高性能的一類單片機,其指令完全兼容80C51單片機,具有功能全面、應用廣泛、性價比高等特點[2]。同時,該單片機支持在線編程、系統(tǒng)下載、調(diào)試和固化程序,很好的滿足了動態(tài)實時調(diào)試的功能需求。另外,該單片機擁有比普通80C51單片機更大的存儲空間、更多的D/A和UART串口等資源。最后,在選定主控芯片后,為其配置相應的時鐘電路和復位電路。系統(tǒng)主控電路原理圖如圖1所示。
圖1 主控電路原理圖
電源電路用來為實驗提供必要的工作電壓,實驗系統(tǒng)供電電壓為+5 V。通常單片機的供電方式有兩種,其一是將交流電經(jīng)整流濾波處理得到,其二是借助PC機的USB口進行供電,本系統(tǒng)采用方法二借助一片AS1117芯片進行供電電路設計。本系統(tǒng)利用PL2303芯片實現(xiàn)了通信數(shù)據(jù)的USB信號與串口信號的轉(zhuǎn)換,從而通過USB接口實現(xiàn)系統(tǒng)供電的基礎上,同時進行主控單片機的程序下載,設計原理圖如圖2所示。
圖2 USB轉(zhuǎn)串口通信電路原理圖
實驗系統(tǒng)的輸入部分,通過一個4*4的行列式鍵盤進行實現(xiàn)。該設計可以通過按鍵實現(xiàn)掃描顯示和中斷功能,以及實現(xiàn)復位、時鐘切換功能,同時可以通過接線切換,將原來的行列式鍵盤變?yōu)楠毩⑹芥I盤,詳細設計原理圖如圖3所示。
圖3 電源電路原理圖
實驗系統(tǒng)輸出部分,設計6個8位獨立顯示的LED數(shù)碼管,實現(xiàn)對各模塊輸出數(shù)據(jù)的顯示和指示。由于本系統(tǒng)所選SST89C58單片機的I/O口驅(qū)動能力有限,因此需要外接驅(qū)動模塊。系統(tǒng)在設計時,為節(jié)約I/O口,使用74HC164芯片實現(xiàn)數(shù)據(jù)串行轉(zhuǎn)并行,只需兩個I/O口即可實現(xiàn)單片機對6個LED數(shù)碼的顯示控制,同時74HC164具有較強的驅(qū)動能力,實現(xiàn)了數(shù)碼管顯示驅(qū)動電流的增大。
為提升實驗系統(tǒng)的擴展性,本系統(tǒng)配置了非常豐富、實用、先進的外設,并將其設計成獨立的模塊,各模塊可以通過其接口實現(xiàn)與控制模塊或其它外設模塊的連接,實現(xiàn)綜合功能系統(tǒng)的設計。本系統(tǒng)主要提供了8個發(fā)光二極管、OCM240218顯示、A/D和D/A轉(zhuǎn)換、DS18B20溫度傳感器、壓力傳感器、時鐘和E2PROM、直流電機(含霍爾元件測試)、RS485通信、CAN總線通信及SD卡讀寫等功能模塊。
OCM240218是5英寸的液晶顯示屏幕,該模塊的設計在滿足同學們?nèi)粘R壕э@示練習基礎上,可以充當顯示部分配合其它模塊完成綜合性實驗。
A/D和D/A轉(zhuǎn)換是單片機學習和諸多系統(tǒng)開發(fā)的必備功能,本系統(tǒng)中采取TLC549作為A/D轉(zhuǎn)換核心器件,TLC549是一款低價位、高性能的8位串行輸出A/D轉(zhuǎn)換器;采用TLC5620作為D/A轉(zhuǎn)換核心器件,TLC5620是一款帶有高阻抗緩沖輸入的4通道8位電源輸出D/A轉(zhuǎn)換器。
DS18B20是Dallas生產(chǎn)的支持“一線總線”接口的溫度傳感器,一線總線獨特而且經(jīng)濟的特點,使用戶可輕松地組建傳感器網(wǎng)絡,實現(xiàn)多點測溫和多傳感器數(shù)據(jù)的融合處理[3]。
CAN總線是一種應極為廣泛的通信技術(shù),特別在汽車電子領域。采用SJA1000為主芯片配合82C250收發(fā)器芯片設計系統(tǒng)的CAN總線通信模塊[4],利用該模塊可以進行單片機控制CAN總線的數(shù)據(jù)收發(fā)功能實驗,幫助學生學習CAN總線通信原理電路的設計和通信參數(shù)的配置,初步掌握CAN總線通信技術(shù)。設計原理圖如圖4所示。
圖4 CAN總線通信模塊電路原理圖
SD卡進行數(shù)據(jù)的存儲常用于電子產(chǎn)品和工業(yè)控制模塊中,本系統(tǒng)實現(xiàn)了借助單片機在SD卡中進行數(shù)據(jù)讀取、存儲操作,單片機與SD卡的數(shù)據(jù)交換通過SPI通信技術(shù);同時SD卡數(shù)據(jù)的存儲和管理遵循FAT32文件管理系統(tǒng);另外SD卡的CLK線采用的是3.3 V電平。設計原理圖如圖5所示。
圖5 SD卡數(shù)據(jù)讀寫模塊電路原理圖
在系統(tǒng)硬件模塊原理設計的基礎上,完成系統(tǒng)各硬件模塊的實現(xiàn);根據(jù)各模塊的特點和模塊之間的連接關(guān)系,合理的對所有模塊進行整體布置;同時為各模塊設計足夠引出端子,方便后續(xù)信號的引接;另外設計部分空端子,預留后期模塊功能擴展的空間。實驗系統(tǒng)的硬件PCB圖如圖6所示。本系統(tǒng)元器件多采用DIP封裝形式進行設計,同時均配置有IC座;多數(shù)元器件的引腳設計成可外部接線的端子,提升系統(tǒng)的實驗功能,滿足職業(yè)院校開展理實一體化課程的教學要求,更適合初學者學習使用。在此基礎上,完成系統(tǒng)的PCB制造、器件焊接和檢查工作。
圖6 實驗系統(tǒng)PCB圖
實驗系統(tǒng)功能實例開發(fā)在完成系統(tǒng)實物制作和調(diào)試之后進行,主要包括完成各功能模塊單獨實驗的實例和多個模塊聯(lián)合模擬實驗的綜合實例。完成系統(tǒng)各功能模塊的單獨試驗實例,包括LED顯示(定時器和軟定時)、鍵盤按鍵控制、計數(shù)器(低頻、中頻和高頻)、模擬量和數(shù)字量轉(zhuǎn)換(A/D和D/A)、E2PROM的讀寫、直流電機控制(正反轉(zhuǎn)、測速和PWM調(diào)速)、OCM12864液晶顯示、DS18B20溫度測量、RS48數(shù)據(jù)通信、CAN總線控制、SD卡數(shù)據(jù)讀寫等多個單模塊實例;完成多模塊聯(lián)合的模擬實驗實例多項,包括DS1302和LED數(shù)碼管組合的時鐘、萬年歷(含日期、時間、溫度等信息)、學校電鈴自動控制系統(tǒng)、SD卡制作簡易的電子書閱讀器、窗簾自動控制系統(tǒng)等;同時,由于本實驗系統(tǒng)擁有著豐富的外設,為學習者根據(jù)需求設計出復雜的綜合實例預留了空間。
為方便學習者使用本實驗系統(tǒng)開展課題實驗和項目開發(fā),針對實驗系統(tǒng)開發(fā)的每個實例,編制了實例文檔、繪制了設計實例原理圖、編寫了實例軟件程序、整理了實例相關(guān)的芯片資料。其中,實例文檔包含功能需求分析、實驗原理和原理圖、實驗執(zhí)行步驟、軟件程序流程圖和源代碼、實驗系統(tǒng)實物接線參考圖及實驗程序調(diào)試、運行結(jié)果等內(nèi)容。
本文設計的可動態(tài)實時調(diào)試微控制器仿真實驗系統(tǒng),功能齊全、調(diào)試方便、結(jié)構(gòu)簡單,而且不需借助仿真器即可實現(xiàn)程序的在線實時調(diào)試,同時系統(tǒng)外圍擴展模塊豐富,不僅適合基礎實驗的訓練,同時滿足綜合設計開發(fā)的需求。職業(yè)院校作為國家培養(yǎng)高技術(shù)技能人才的主陣地[5],更加注重學生動手實踐能力的提升,本系統(tǒng)可有效滿足職業(yè)院校電子相關(guān)專業(yè)開展理實一體化課程的要求,提升學生發(fā)現(xiàn)問題、分析問題、創(chuàng)新性解決問題的能力。因此,本文設計的微控制器仿真實驗系統(tǒng)具有一定的應用價值。