綦志勇 魯立
摘要:物聯(lián)網(wǎng)技術(shù)再次激發(fā)了單片機(jī)技術(shù)的發(fā)展,但是當(dāng)前的單片機(jī)技術(shù)對(duì)于實(shí)驗(yàn)與驗(yàn)證有較大局限性,這體現(xiàn)在只完成核心板設(shè)計(jì)但是電源引出不足,或者是跳線復(fù)雜;并且在模塊化、集成化方面仍然很受限。因此本文提出了一種使用模塊化的設(shè)計(jì)技術(shù)來設(shè)計(jì)實(shí)驗(yàn)基礎(chǔ)電路底板,這便于在前期技術(shù)驗(yàn)證的時(shí)候有較靈活的驗(yàn)證電路來支撐基本功能模塊的測(cè)試,并為后續(xù)產(chǎn)品化電路設(shè)計(jì)提供前期驗(yàn)證的支持。
關(guān)鍵詞:物聯(lián)網(wǎng);單片機(jī);模塊化;驗(yàn)證
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)35-8548-03
目前,單片機(jī)技術(shù)伴隨著物聯(lián)網(wǎng)技術(shù)[1]迎來了二次發(fā)展機(jī)遇期。這主要依賴物聯(lián)網(wǎng)的計(jì)算元節(jié)點(diǎn)[2]無一例外地采用了單片機(jī)技術(shù)。并且在很多應(yīng)用場(chǎng)合,單片機(jī)技術(shù)仍然有很大的想象空間。但是,需要看到的問題也非常突出,綜合起來有如下幾個(gè)方面。
1) 很多用戶需要在前期驗(yàn)證其電路的正確性,采用的辦法就是自行搭建一個(gè)單片機(jī)核心板,并在此基礎(chǔ)上外接其他接口與應(yīng)用電路模塊。但是需要看到的是,復(fù)雜的連線,電源接口提供有限,模塊與模塊之間跳線眾多、導(dǎo)致接觸不良頻發(fā)。
2) 如果一旦制版,發(fā)現(xiàn)錯(cuò)誤又再次改版、再錯(cuò)再改這樣會(huì)陷入制版次數(shù)太多的問題,導(dǎo)致成本增加。如果肯能,在早期能夠直接通過模塊化較為固定的搭接電路來驗(yàn)證原型功能,則改版的概率將大大降低。
3) 如果有可能使用某種單片機(jī)模塊化底板技術(shù),則在初步驗(yàn)證、學(xué)生使用、教學(xué)使用等應(yīng)用領(lǐng)域?qū)⑹欠浅S行У氖侄巍?/p>
1 研究背景
模塊化技術(shù)一直以來常用于軟硬件開發(fā)過程,軟件上采用中間件技術(shù)[3],硬件上采用標(biāo)準(zhǔn)模塊化技術(shù)[4]。模塊化對(duì)設(shè)計(jì)而言產(chǎn)生了深遠(yuǎn)的影響,從嵌入式技術(shù)角度出發(fā),模塊化減少了設(shè)計(jì)技術(shù)中的復(fù)雜性,并且增加了設(shè)計(jì)靈活性。因此在產(chǎn)品設(shè)計(jì)過程中,采用模塊化技術(shù)實(shí)現(xiàn)前期的驗(yàn)證是一個(gè)很好的手段。一般而言,在嵌入式系統(tǒng)設(shè)計(jì)[4]當(dāng)中,尤其是單片機(jī)系統(tǒng)設(shè)計(jì)當(dāng)中,很多模塊是常用并且用了很多年的技術(shù),已經(jīng)非常成熟了。物聯(lián)網(wǎng)概念提出之后,對(duì)于基于單片機(jī)的嵌入式系統(tǒng)設(shè)計(jì)也就是增加了通訊模塊與協(xié)議軟件。其中比較重要的是協(xié)議軟件,通訊模塊也能夠?qū)崿F(xiàn)標(biāo)準(zhǔn)化。該文在此僅討論使用宏晶科技公司的STC12C5A60S2芯片[5]作為單片機(jī)主控制核心來完成模塊化設(shè)計(jì)工作。
單片機(jī)底板設(shè)計(jì)對(duì)很多嵌入式開發(fā)用戶來說是一件很簡(jiǎn)單的事情,但是對(duì)于產(chǎn)品開發(fā)而言,為了降低成本的前期系統(tǒng)搭建是必要的。這種系統(tǒng)的搭建可以在后期降低改版次數(shù),并實(shí)現(xiàn)初步技術(shù)上的驗(yàn)證工作[6]。但是需要看到的是,由于工程師的個(gè)體差異性與核心板搭建過程中的隨意性,問題百出。典型的情況就是采用多孔實(shí)驗(yàn)板搭建的單片機(jī)系統(tǒng)核心,由于前期布線考慮不周,以至于后期需要搭建外部模塊化電路的時(shí)候,跳線多、電源分布不均勻、線路板分布電容雜散電容問題突出、沒有考慮EMC等等問題,導(dǎo)致前期驗(yàn)證工作耗時(shí)耗力效果不一定理想,并且延誤工程周期[7]。所以本文提出一種基于模塊化技術(shù)的單片機(jī)核心板設(shè)計(jì)思路,希望對(duì)前期嵌入式技術(shù)驗(yàn)證工程師而言起到一定參考作用,并希望本文的設(shè)計(jì)思路對(duì)行業(yè)當(dāng)中從事單片機(jī)教學(xué)的工作者有一定參考作用。
2 基于模塊化技術(shù)的單片機(jī)核心板設(shè)計(jì)
基于模塊化技術(shù)的單片機(jī)核心板設(shè)計(jì)方法源于模塊化設(shè)計(jì)思維。首先,模塊化是現(xiàn)代軟硬件設(shè)計(jì)的基本方法。軟件設(shè)計(jì)當(dāng)中采用基于中間件的模塊化設(shè)計(jì)技術(shù),而硬件設(shè)計(jì)當(dāng)中采用標(biāo)準(zhǔn)的硬件模塊來快速搭建應(yīng)用電路。第二,模塊化技術(shù)有助于快速定位問題。在現(xiàn)代系統(tǒng)設(shè)計(jì)當(dāng)中,實(shí)際應(yīng)用電路總會(huì)在調(diào)試階段出現(xiàn)某些問題,采用模塊化設(shè)計(jì)之后,定位、隔離、修改、更新問題成為較為方便的手段。當(dāng)找到問題之后,通常只需對(duì)模塊進(jìn)行替換、修改或重新設(shè)計(jì)有助于減小問題的規(guī)模。第三,模塊化技術(shù)在本專業(yè)的教學(xué)當(dāng)中能夠使得學(xué)生逐步從簡(jiǎn)到繁,一步一步掌握接口技術(shù)應(yīng)用電路設(shè)計(jì)的設(shè)計(jì)與實(shí)現(xiàn)。該文采用的模塊化方法為預(yù)留方式,預(yù)留方式為各種模塊預(yù)留一定位置,用戶可以依據(jù)自身需求來進(jìn)行模塊的添加與卸載。總體的設(shè)計(jì)思路分為幾個(gè)步驟:設(shè)計(jì)核心電路模塊、設(shè)計(jì)外部模塊接口、設(shè)計(jì)底板預(yù)留部分。以下就依照這幾個(gè)步驟來完成模塊化技術(shù)的單片機(jī)核心板設(shè)計(jì)。
2.1設(shè)計(jì)核心電路模塊
本文采用的核心為STC12C5A60S2芯片,用戶也可以借鑒本文的思維開發(fā)其他的核心來作為主控。核心的總體設(shè)計(jì)為幾個(gè)部分:電源部分、晶振部分、復(fù)位部分、核心單片機(jī)部分等。
1) 電源部分設(shè)計(jì)
考慮到外部模塊采用何種供電方式是不確定的,這里的設(shè)計(jì)僅考慮輸出5V與3.3V。由于輸入電源可以直接采用5V電源,則如果采取此方式則直接引出5V;如果輸入電源為220V交流,則需要進(jìn)行交流轉(zhuǎn)5V電源模塊的設(shè)計(jì)。為簡(jiǎn)化問題,該文采用輸入電源為外部電源5V直流輸入的方式。則應(yīng)用設(shè)計(jì)的原理圖如圖1所示:
圖1中(a)為輸入電源接頭,為直流5V,1A;圖(b)為DIP-6的6腳輸入電源開關(guān),用于STC單片機(jī)的冷啟動(dòng)[8]操作。圖(c)為USB連接接口,用于計(jì)算機(jī)為核心板提供電源??紤]到輸出為5V與3.3V則輸出電路設(shè)計(jì)如圖2所示:
(c)
圖2 輸出3.3V電源電路與輸出電源組部分
圖2中,(a)為輸出3.3V提供電路,(b)為輸出5V電源組接口部分電路,(c)圖為輸出5V與3.3V電源接口部分電路。這樣,核心板上提供了眾多的輸出電源以便于后續(xù)用戶擴(kuò)展其需要的模塊電路提供充足的電源組??紤]到擴(kuò)展電源模塊問題,也就是有些用戶希望自行擴(kuò)展自己的電源模塊,所以在電路設(shè)計(jì)過程中需要擴(kuò)展外部電源模塊,其接口設(shè)計(jì)如圖3所示:
預(yù)留該接口則用戶可以自行設(shè)計(jì)電源模塊,并將其輸出設(shè)計(jì)為5V直流,則核心板仍然可以正常工作。
2) 晶振部分設(shè)計(jì)
為滿足核心單片機(jī)部分的三大工作條件之一時(shí)鐘電路,該文設(shè)計(jì)時(shí)鐘電路(晶振部分)如圖4所示:
圖4中的晶振電路采用了18.432Mhz的晶體振蕩器,使用18.432Mhz晶振的優(yōu)勢(shì)在于:如果希望單片機(jī)與PC機(jī)進(jìn)行通訊,則當(dāng)采用該參數(shù)的晶振計(jì)算波特率時(shí),某些速率的誤碼率為0相對(duì)適合。
3) 復(fù)位部分設(shè)計(jì)
為滿足核心單片機(jī)部分的三大工作條件之一復(fù)位電路,該文設(shè)計(jì)復(fù)位電路如圖5所示。
4) 核心電路模塊部分設(shè)計(jì)
核心電路模塊部分設(shè)計(jì)包含:核心處理器部分、芯片濾波部分、系統(tǒng)電源指示燈部分、P0口上拉部分。具體設(shè)計(jì)電路如圖6所示:
5) 設(shè)計(jì)底板預(yù)留部分
設(shè)計(jì)底板預(yù)留部分主要為預(yù)留各種基本接口。此部分一般應(yīng)依據(jù)用戶需求來設(shè)計(jì),但是此處可以采用預(yù)留幾種標(biāo)準(zhǔn)方式來完成:預(yù)留流水燈、預(yù)留USB外部模塊接口、預(yù)留232模塊接口、預(yù)留全部I/O接口。見圖7所示:
圖7中(a)顯示了USB外接模塊與RS232外接模塊的接口,圖(b)顯示了LED流水燈的模塊,該模塊主要用戶在使用I/O口進(jìn)行數(shù)據(jù)傳輸過程中的人為狀態(tài)可視化判定,圖(c)顯示了外部I/O接口模塊。
綜上所述,在原理圖設(shè)計(jì)上的模塊化工作基本上圍繞著核心電路設(shè)計(jì)與外部模塊引出兩個(gè)方面。其中,電源組的接口希望盡可能地多;其他部分接口應(yīng)該盡可能引出,以滿足用戶擴(kuò)展需求。原理圖部分顯示的僅僅是一個(gè)概念性的設(shè)計(jì),實(shí)際電路對(duì)于模塊化的支持在機(jī)械路板布局方面應(yīng)予以充分支持。因此,下一節(jié)重點(diǎn)介紹實(shí)際電路布局中對(duì)模塊化的支持。
3 實(shí)現(xiàn)與驗(yàn)證
通過上述的原理圖設(shè)計(jì)可見,在原理圖層面對(duì)模塊化的支持是充分預(yù)留各種接口,以備用戶未來的模塊擴(kuò)展用;但是,僅有原理圖層次的模塊化支持遠(yuǎn)遠(yuǎn)不夠,這是由硬件模塊本身就是一個(gè)實(shí)體模塊決定的。實(shí)體模塊存在機(jī)械尺寸、電源支持、信號(hào)連接以及在電路板上如何穩(wěn)定地固定等問題存在。因此對(duì)機(jī)械電路板設(shè)計(jì)當(dāng)中應(yīng)當(dāng)充分考慮這些因素并盡可能規(guī)避某些影響上述因素的問題。
1) 支撐模塊化硬件結(jié)構(gòu)的底板布局
硬件模塊以模塊功能為劃分基礎(chǔ),通常有電源與復(fù)位部分電路模塊、通訊電路模塊、USB電源與3.3V供電模塊、核心控制底板模塊、其他預(yù)留模塊等部分。整個(gè)底板的PCB圖如圖8所示:
由圖8(a)可見七個(gè)任意擴(kuò)充均有機(jī)械安裝孔的模塊預(yù)留,允許用戶采用通用連接件任意固定各種需要的自由設(shè)計(jì)模塊。(a)圖左側(cè)剩余三個(gè)模塊為:電源與復(fù)位模塊,用于外部電源模塊用戶設(shè)計(jì)輸入、或是直接5V直流輸入,并提供一個(gè)復(fù)位、一個(gè)總電源開關(guān)、一個(gè)外部5V電源輸入接頭、3組5V輸出、3組3.3V輸出;串行通訊模塊,用于外部用戶自定義RS232電平轉(zhuǎn)換輸入,或是USB轉(zhuǎn)232電平轉(zhuǎn)換模塊輸入,并附帶了安裝孔,允許用戶采用通用連接件任意固定這些模塊;3.3V 電源轉(zhuǎn)換模塊,允許用戶直接使用USB電源作為輸入,并轉(zhuǎn)換系統(tǒng)電源5V直流為3.3V直流輸出。(b)圖上絲印層有版權(quán)標(biāo)記。以上就是模塊化設(shè)計(jì)的底板PCB結(jié)構(gòu)圖全貌。
2) 實(shí)際電路板與測(cè)試驗(yàn)證
實(shí)際制版之后的電路需要經(jīng)過測(cè)試驗(yàn)證,實(shí)際制版并焊接元器件之后的實(shí)際電路圖如圖9所示:
連接RS232模塊到電腦的串口后,通訊成功。該文的測(cè)試分別使用了RS232連接線連接到電腦與USB轉(zhuǎn)串口(分別測(cè)試了CH340主控、PL2303主控、FT232主控等串行轉(zhuǎn)USB)連接到電腦,經(jīng)測(cè)試下載正常、運(yùn)行測(cè)試代碼(跑馬燈,測(cè)試10片主板)均正常。
通過上述設(shè)計(jì)與實(shí)現(xiàn)過程可見,硬件的模塊化設(shè)計(jì)技術(shù)在于依照功能的模塊劃分。且在底板設(shè)計(jì)過程中,重點(diǎn)需要考慮的是模塊的電源支持、機(jī)械固定方式、接口連接等問題。充分考慮這些問題可以設(shè)計(jì)出具有一定范圍內(nèi)適用性的單片機(jī)底板,并具支持前提模塊化驗(yàn)證工作。
4 總結(jié)與展望
本文提出了一種基于模塊化的電路設(shè)計(jì)技術(shù),主要為滿足制版之前的前期技術(shù)驗(yàn)證工作。文中重點(diǎn)介紹了采用STC12C5A60S2單片機(jī)作為核心處理單元的原理圖、線路板設(shè)計(jì)方法,著重強(qiáng)調(diào)了原理圖上的模塊接口預(yù)留問題并推薦了PCB的機(jī)械模塊預(yù)留方法,使用該方法可以簡(jiǎn)單設(shè)計(jì)單片機(jī)的主控制底板,并能較好地支持模塊化前期驗(yàn)證工作。由于經(jīng)驗(yàn)與技術(shù)有限,在原理圖與PCB布局方面本設(shè)計(jì)仍略顯不足,在后續(xù)的研究中將加入常用的接口模塊電路到各個(gè)模塊部分中,使得該基礎(chǔ)電路設(shè)計(jì)更具針對(duì)性、與擴(kuò)展性。
參考文獻(xiàn):
[1] 陳海明,崔莉,謝開斌.物聯(lián)網(wǎng)體系結(jié)構(gòu)與實(shí)現(xiàn)方法的比較研究[J].計(jì)算機(jī)學(xué)報(bào),2013(1):168-188.
[2] 綦志勇,常排排,面向普適計(jì)算環(huán)境的嵌入式系統(tǒng)研究[J].計(jì)算機(jī)科學(xué),2011(l3):179-181.
[3] 丁博,王懷民,史殿習(xí).普適計(jì)算中間件技術(shù),計(jì)算機(jī)科學(xué)與探索[J].2007(3):23-25.
[4] 葉俊民,綦志勇.基于計(jì)算元的普適計(jì)算的系統(tǒng)結(jié)構(gòu)框架研究[C].PCC2009,第五屆全國普適計(jì)算學(xué)術(shù)會(huì)議,2009:1015-1022.
[5] 崔國麗,車喜龍,基于STC12C5A60S2與AD620的小信號(hào)采集系統(tǒng)[J].電子設(shè)計(jì)工程,2012(11):112-114.
[6] 榮國平,劉天宇,謝明娟,陳婕妤,張賀,陳道蓄.嵌入式系統(tǒng)開發(fā)中敏捷方法的應(yīng)用研究綜述[J].軟件學(xué)報(bào),2012(11):267-283.
[7] 夏鑫.基于MCU嵌入式系統(tǒng)的構(gòu)件化開發(fā)模式研究[M].電子科技大學(xué),2008.
[8] 盧軼楠,王學(xué)偉.STC15F104E的STC單片機(jī)自動(dòng)下載系統(tǒng)設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2011(11):76-77.