任照富,曾昭源,陳鐘
(重慶電力高等專科學校信息工程學院,重慶,400053)
目前市場上開發板所暴露的開發核心單一,如果用戶想同時學習幾款不同核心的開發就需要購買不同的開發板,購買了后用戶還要花時間來熟悉外圍的硬件電路,如果一旦出現問題后要是用戶開發經驗不夠的話很難找到問題。如果用戶自行購買核心板來自己搭建外圍電路的話,對用戶的入門要求較高,而且電路的穩定性也無法得到保障。
常見市面上的開發板切換所遇問題:
(1)單片機外設不熟悉,這種情況常出現在切換單片機開發板后不同廠家使用單片機外設的不同,使用者還需要去重新熟悉單片機外設電路,增加學習成本,對入門的門檻進一步提高。
(2)不同廠家所使用的芯片廠商不同,有時會出現細微的差別,如:DHT11 就有兩個版本,-20~+60℃的版本和0~50℃的版本,兩個版本采集的溫度精度不同往往容易誤導使用者,認為自己的代碼書寫有誤或配置錯誤。
(3)市面上的開發板大多外設不一致,如果使用者要保持外設一致就只能使用只帶單片機的最小系統板,外設就只能自己接線,這樣的開發方式不可控的風險較大。
結合以上問題我們針對性的開發了一款可更換核心處理器的智能小車,切換結構采用簡單快捷的金手指連接方式。智能小車核心板可單獨作為開發板使用,也可以裝上金手指母座后用排線進行外擴使用。
(1)51 單片機是對所有兼容Intel 8051 指令系統的單片機的統稱。該系列單片機的始祖是Intel的8004 單片機,后來隨著Flash rom 技術的發展,8004 單片機取得了長足的進展,成為應用最廣泛的8 位單片機之一,其代表型號是ATMEL 公司的AT89 系列,它廣泛應用于工業測控系統之中。很多公司都有51 系列的兼容機型推出,今后很長的一段時間內將占有大量市場。51 單片機是基礎入門的一個單片機,還是應用最廣泛的一種。
(2)AVR 單片機是1997 年由ATMEL 公司研發出的增強型內置Flash的RISC(Reduced Instruction Set CPU) 精簡指令集高速8 位單片機。可以廣泛應用于計算機外部設備、工業實時控制、儀器儀表、通訊設備、家用電器等各個領域。AVR 單片機是 Atmel 公司 1997 年推出的 RISC 單片機。RISC(精簡指令系統計算機)是相對于CISC(復雜指令系統計算機)而言的。RISC 并非只是簡單地去減少指令,而是通過使計算機的結構更加簡單合理而提高運算速度的。
(3)ARM 單片機是以ARM 處理器為核心的一種單片微型計算機,是近年來隨著電子設備智能化和網絡化程度不斷提高而出現的新興產物。ARM 是一家微處理器設計公司的名稱,ARM 既不生產芯片也不銷售芯片,是專業從事技術研發和授權轉讓的公司,世界知名的半導體電子公司都與arm 建立了合作伙伴關系,包括國內許多公司也從arm 購買芯核技術用于設計專用芯片。ARM 單片機以其低功耗和高性價比的優勢逐漸步入高端市場,成為了時下的主流產品。
整個系統分為核心載板資源與小車主體,載板資源包括最小系統、USB 轉TTL、LED 等。基礎部件學習用戶可通過撥碼開關自行調整是否使用核心載板資源,整塊載板體積只有50mm×58mm的大小方便攜帶。
小車主體使用金手指卡槽與核心載板進行連接,使得小車主體擁有更好的兼容性。小車主體設計的有編碼驅動電機、循跡板、拓展接口等部件,讓小車在滿足基礎功能的同時有著更高的靈活性。
本產品底板采用DY-ITR9909 光電傳感器作為循跡采集器,使用電機驅動芯片DRV8837DSGR 作為驅動器控制電機。使用NE555 對底板的時鐘進行控制。使用SN74LS161ANSR 作為并型光電采集信號轉串行采集信號的控制芯片,CD4051BM/TR 為執行部件,圖1 所示智能小車底板系統結構圖,圖1 為可更換核心處理器的智能小車底板PCB。

圖1 智能小車底板系統結構圖
(1)NE555 時鐘電路
該電路主要是用于給循跡電路產生掃描節拍時鐘,可以通過調節變阻器來改變掃描的速率(一般常用10.45kHz)。調節變阻器時可用使用示波器探針去測量PCB 板上的CLK測試點,此時應該能看見一個正負半周都是50%的方波信號。電路原理圖如圖2 所示。

圖2 NE555 時鐘電路原理圖
(2)循跡采樣電路
采用紅外對射二極管進行路面的顏色識別,利用顏色較深的顏色不易反射光線,顏色較淺的顏色易反射光線的原理來識別地面的顏色。當紅外對射二極管檢測到反射回來的光線(淺色)時其對應的輸出引腳Yx(x 可以是0 到7)就會輸出低電平,反之則是高電平。
(3)采樣數據并轉串/數據整形電路
利用CD4051 模擬轉換開關的特性(原理見圖3),將并行的8 組紅外對射二極管的數據依次轉換到我們公共端3 腳上(此時已經完成了并轉串)。在3 腳輸出端上利用LM358.2 構成了一個電壓比較器用于調節靈敏度(整形)然后用LM358.1構成了一個電壓跟隨器用于輸出到外部信號。

圖3 循跡板并轉串及整形電路
(4)并轉串控制電路
利用NE555產生的時鐘,控制74LS161(同步加法計數器),進行計數控制CD4051的開關切換。當計數剛好到8 時(也就是Q3 剛好輸出時)就將計數器復位,讓其再從0 開始加。
(5)狀態指示電路
將整形后的數據輸入到三極管Q1 后去驅動LED,此時利用CD4051 將串行的數據又轉成了并行的數據(其實并非并行,只是利用了人眼的視覺暫留效果看起來LED 是一起亮的,其實是單個點亮)。電路原理圖如圖4 所示。

圖4 循跡狀態指示電路
(6)CD4015 轉換開關電路
使用CD4015 轉換開關,對A0,A1,A2,還有E#的控制來實現對外部設備的控制,CD4015 轉換開關的控制信號狀態表如表1 所示。

表1 CD4015轉換開關的控制信號狀態表

(7)電機驅動電路
采用4 片TI 公司的DRV8837 作為電機驅動電路,VCC最大11V,最大輸出電流可達1.8A。
MCU 核心載板的系統結構圖如圖5 所示。

圖5 底板MCU 系統結構圖
硬件電路核心板部分采用了可更換核心控制芯片模塊電路,其中使用到的MCU 有STC89C52RC、STM32F103 C8T6 和ATMEGA328P,系統設計在可隨意更換核心板的同時,還在端口兼容方面以及電源防反接方面也做出了相應的設計,并且每塊核心載板都配備了一顆LED 測試燈,三個按鍵(兩個帶外部中斷,一個復位),以及一個兩位的共陽數碼管,用來實現簡單的功能,可以脫離底板單獨運行。每一塊核心載板都配備了USB 轉串口的芯片(CH340G)用來實現串口調試和程序下載,每塊核心載板尺寸為50×58mm。
在設計過程中由于STC89C52RC 在下載程序時,需要重新對系統上電,所以我們為STC89C52RC 核心板設計了專門的板載一鍵下載電路,如圖6 所示。用來解決在學習開發過程中沒有專用下載器和重復對電路上電的繁瑣操作,只需要一根USB 數據線即可下載,電路由RC 電路實現,時間T=RC。

圖6 STC89C52RC 一鍵下載電路原理圖
可更換核心處理器的智能小車開發平臺是為滿足高校學生學習單片機而開發的,具有完全知識產權。該產品將核心技術進行整合,簡化了外圍電路,首創將STC89C51 和Arduino UNO 與STM32 等主流單片機移植到同一外設電路的PCB 上,降低了入門門檻;在入門之初學習者可以先利用主控板上的資源進行基礎學習,當需要資源整合進行拓展時可以將主控板插到小車金手指卡槽上進行操作。
可更換核心處理器的智能小車開發平臺為學生學習C語言、51 單片機、SMT32 均可提供實踐支撐,通過循跡小車的方式進行學習,可提高學生的學習興趣。整個系統分為兩個框架,核心板只有50mm*58mm的大小,方便攜帶,即使脫離小車也能進行部分實驗,可滿足日常學習同時也為同學們自我拓展留下了更多空間。