【正文】
個(gè)人和集體,均已在文中以明確方式標(biāo)明并表示了謝意。關(guān)鍵詞:熱敏打印機(jī);嵌入式系統(tǒng);STM32;PCB設(shè)計(jì);ABSTRACTMiniature thermal printer applications in modern life is more extensive in modern life, indepth, with the diversification of user’s needs, a wide variety of special microprinter es out in the market, but because of its wide range of targeted too, all the products are not patible between manufacturers, resulting in a waste of resources.I have developed for the miniature thermal printer with a plete set of control circuit, to write with a special data interface, the host puter to control the embedded chip and then control the miniature thermal printer, print data, and enables staff can focus on application development in the secondary development . This article described in detail based on the CortexM3miniature thermal printer control circuit design and implementation of the host puter to write multithreaded application, minimum system board in the development of STM32F103 series is also given specific process, as well as development attention to points in the process, in addition to the author also gives the master in the actual development of skills and development experience.Key words:Miniature Thermal Printer;Embedded Operating System;STM32;PCB Design;目 錄第一章 緒論 1 課題背景 1 嵌入式的定義 1 嵌入式的發(fā)展歷史 2 嵌入式系統(tǒng)的應(yīng)用領(lǐng)域 4 本文結(jié)構(gòu)安排 5第二章 總體方案設(shè)計(jì) 6 STM32單片機(jī)簡(jiǎn)介 6 熱敏打印機(jī)介紹 9 熱敏打印機(jī)常規(guī)驅(qū)動(dòng)控制方式 10 系統(tǒng)功能及結(jié)構(gòu) 12 總體方案設(shè)計(jì) 13 上位機(jī)編寫軟件選擇 13 主控芯片選擇 13 本章小結(jié) 14第三章 硬件單元設(shè)計(jì) 15 最小系統(tǒng)板的設(shè)計(jì) 15 最小系統(tǒng)板開發(fā)軟件介紹 15 最小系統(tǒng)板硬件設(shè)計(jì) 17 電源模塊的設(shè)計(jì) 20 控制電路的設(shè)計(jì) 21 本章小結(jié) 22第四章通信協(xié)議 23 RS232串口通信協(xié)議 23 打印機(jī)控制命令 24 本章小結(jié) 26第五章 軟件單元設(shè)計(jì) 27 開發(fā)工具介紹 27 Visual Studio 2010 27 Keil μVision4 (RealView MDK) 28 多線程技術(shù) 28 上位機(jī)編寫 29 本章小結(jié) 31第六章系統(tǒng)調(diào)試 32 第一階段調(diào)試 32 第二階段調(diào)試 32 本章小結(jié) 34結(jié)束語 35致 謝 36參考文獻(xiàn) 37附錄A 上位機(jī)軟件部分代碼 38南京郵電大學(xué)2012屆本科生畢業(yè)設(shè)計(jì)(論文)第一章 緒論 課題背景通信電子計(jì)算機(jī)自20世紀(jì)40年代誕生之后,一直向著高性能和智能化兩個(gè)方向發(fā)展。由于CortexM3定位準(zhǔn)確,出色地平衡了成本、性能、功耗等各方面的要求,在市場(chǎng)上迅速被ST,TI,Philips/NXP等眾多廠商所接受,并在實(shí)際中替代了傳統(tǒng)應(yīng)用中大量的16位和高端8位芯片。就絕大多數(shù)完整的嵌入式系統(tǒng)而言,用戶打開電源即可直接享用其功能,無需二次開發(fā)或僅需少量配置操作。所以本質(zhì)上嵌入式系統(tǒng)也是各種技術(shù)的集大成者。大規(guī)模集成電路設(shè)計(jì)技術(shù)網(wǎng)絡(luò)與通信技術(shù)傳感與檢測(cè)技術(shù)信息處理技術(shù)技術(shù)驅(qū)動(dòng)嵌入式系統(tǒng)產(chǎn)業(yè)控制測(cè)量電信能源醫(yī)療航天交通安全需求牽引圖12 嵌入式系統(tǒng)產(chǎn)業(yè)的發(fā)展動(dòng)力示意圖:需求拉動(dòng)和技術(shù)驅(qū)動(dòng)嵌入式系統(tǒng)的發(fā)展也深受這兩大動(dòng)力的左右。1964年,全球IC出貨量首次超過10億美元。緊接著,TI,Zilog,Motorola分別于1971971974年推出了基于半導(dǎo)體集成電路技術(shù)的CPU。這些模塊被人稱為單板機(jī),意指在一塊電路板上實(shí)現(xiàn)了一臺(tái)計(jì)算機(jī)。這一階段的主要特征就是從單板到單片的技術(shù)飛躍,以及8051在實(shí)現(xiàn)中的廣泛應(yīng)用,可認(rèn)為是嵌入式系統(tǒng)發(fā)展的中期階段。至2009年,采用ARM內(nèi)核的處理器的銷量已經(jīng)超過了100億個(gè)。 嵌入式系統(tǒng)的應(yīng)用領(lǐng)域嵌入式系統(tǒng)技術(shù)具有非常廣闊的應(yīng)用前景,其應(yīng)用領(lǐng)域可以包括: 工業(yè)控制: 基于嵌入式芯片的工業(yè)自動(dòng)化設(shè)備將獲得長(zhǎng)足的發(fā)展,目前已經(jīng)有大量的132 位嵌入式微控制器在應(yīng)用中,網(wǎng)絡(luò)化是提高生產(chǎn)效率和產(chǎn)品質(zhì)量、減少人力資源主要途徑,如工業(yè)過程控制、數(shù)字機(jī)床、電力系統(tǒng)、電網(wǎng)安全、電網(wǎng)設(shè)備監(jiān)測(cè)、石油化工系統(tǒng)。目前GPS設(shè)備已經(jīng)從尖端產(chǎn)品進(jìn)入了普通百姓的家庭,只需要幾千元,就可以隨時(shí)隨地找到你的位置。 家庭智能管理系統(tǒng): 水、電、煤氣表的遠(yuǎn)程自動(dòng)抄表,安全防火、防盜系統(tǒng),其中嵌有的專用控制芯片將代替?zhèn)鹘y(tǒng)的人工檢查,并實(shí)現(xiàn)更高,更準(zhǔn)確和更安全的性能。在很多環(huán)境惡劣,地況復(fù)雜的地區(qū),嵌入式系統(tǒng)將實(shí)現(xiàn)無人監(jiān)測(cè)。同樣的道理,所有基于網(wǎng)絡(luò)的遠(yuǎn)程控制器件都需要與嵌入式系統(tǒng)之間實(shí)現(xiàn)接口,然后再由嵌入式系統(tǒng)來控制并通過網(wǎng)絡(luò)實(shí)現(xiàn)控制。第二章 總體方案設(shè)計(jì) STM32單片機(jī)簡(jiǎn)介STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應(yīng)用專門設(shè)計(jì)的ARM CortexM3內(nèi)核。時(shí)鐘頻率72MHz時(shí),從閃存執(zhí)行代碼,STM32功耗36mA,是32位市場(chǎng)上功耗最低的產(chǎn)品。其主要特點(diǎn)如下:l 核心? ARM 32位的Cortex?M3CPU? 72MHz,高達(dá)90DMips,? 單周期硬件乘法和除法——加快計(jì)算l 存儲(chǔ)器? 從32K字節(jié)至128K字節(jié)閃存程序存儲(chǔ)器? 從6K字節(jié)至20K字節(jié)SRAM? 多重自舉功能l 時(shí)鐘、復(fù)位和供電管理? ? 上電/斷電復(fù)位(POR/PDR)、可編程電壓監(jiān)測(cè)器(PVD)、掉電監(jiān)測(cè)器? 內(nèi)嵌4至16MHz高速晶體振蕩器? 內(nèi)嵌經(jīng)出廠調(diào)校的8MHz的RC振蕩器? 內(nèi)嵌40kHz的RC振蕩器? 內(nèi)嵌PLL供應(yīng)CPU時(shí)鐘? 內(nèi)嵌使用外部32kHz晶體的RTC振蕩器l 低功耗? 3種省電模式:睡眠、停機(jī)和待機(jī)模式? VBAT為RTC和后備寄存器供電l 2個(gè)12位模數(shù)轉(zhuǎn)換器,1us轉(zhuǎn)換時(shí)間(16通道)? ? 雙采樣和保持功能? 溫度傳感器l 調(diào)試模式? 串行線調(diào)試(SWD)和JTAG接口l DMA? 7通道DMA控制器? 支持的外設(shè):定時(shí)器、ADC、SPI、I2C和USARTl 多達(dá)80個(gè)快速I/O口? 26/36/51/80個(gè)多功能雙向5V兼容的I/O口? 所有I/O口可以映像到16個(gè)外部中斷l(xiāng) 多達(dá)7個(gè)定時(shí)器? 多達(dá)3個(gè)同步的16位定時(shí)器,每個(gè)定時(shí)器有多達(dá)4個(gè)用于輸入捕獲/輸出比較/PWM或脈沖計(jì)數(shù)的通道? 16位6通道高級(jí)控制定時(shí)器? 多達(dá)6 路PWM 輸出? 死區(qū)控制、邊緣/中間對(duì)齊波形和緊急制動(dòng)? 2個(gè)看門狗定時(shí)器(獨(dú)立的和窗口型的)? 系統(tǒng)時(shí)間定時(shí)器:24位的、帶自動(dòng)加載功能的l 多達(dá)9個(gè)通信接口? 多達(dá)2個(gè)I2C接口(SMBus/PMBus)? 多達(dá)3個(gè)USART接口,支持ISO7816,LIN,IrDA接口和調(diào)制解調(diào)控制? 多達(dá)2個(gè)SPI同步串行接口(18兆位/秒)? CAN 接口( 主動(dòng))? USB 全速接口圖22 STM32F103系列結(jié)構(gòu)框圖應(yīng)用領(lǐng)域: 工業(yè):可編程控制器(PLC)、變頻器、打印機(jī)、掃描儀、工控網(wǎng)絡(luò);家電 :電機(jī)控制、應(yīng)用控制低功耗:手持儀器、三相功率表消費(fèi)類: PC外設(shè),游戲機(jī)、數(shù)碼相機(jī),GPS平臺(tái)建筑與安防:警報(bào)系統(tǒng)、可視電話發(fā)展趨勢(shì):STM32推出市場(chǎng)已經(jīng)有幾年了,以后發(fā)展將會(huì)向無線通信以及面向低成本發(fā)展,單片化程度更高,即包含液晶驅(qū)動(dòng)等專用模塊,并逐步擴(kuò)大對(duì)消費(fèi)電子、通信設(shè)備及工業(yè)控制領(lǐng)域的占有率。這種化學(xué)反應(yīng)是在一定的溫度下進(jìn)行的。加熱是由與熱敏材料相接觸的打印頭上的一個(gè)小電子加熱器提供的。利用這種點(diǎn)陣,打印機(jī)可把打印點(diǎn)在熱敏紙的任意位置上。熱敏紙表層光滑,是由普通紙張作為紙 基,上面涂布一層熱敏發(fā)色層,都涂在普通紙張表面的一面,發(fā)色層是由膠粘劑、顯色劑、無色染料(或稱隱色染料)組成,沒有通過微膠囊予以隔開,化學(xué)反應(yīng)處 于“潛伏”狀態(tài)。熱敏紙涂層中的熱敏成份主要是兩種:一種是無色染料或稱隱色染料;另外一種是顯色劑。熱敏紙遇熱后無色染料與顯色劑發(fā)生化學(xué)反應(yīng)產(chǎn)生顏色,于是使用熱敏紙?jiān)趥髡鏅C(jī)上接收信號(hào)打印或直接用熱敏打印機(jī)打印時(shí),圖文就顯示出來了。該器件具有良好的穩(wěn)定性,使得打印機(jī)能夠在惡劣的工業(yè)現(xiàn)場(chǎng)使用。由CPU的一個(gè)I/O口輸出控制加熱電壓源控制端TCl,參見圖2與圖3。同時(shí)主控器件檢測(cè)到比較器U1B的引腳7輸出低電平信號(hào),進(jìn)入中斷,暫停打印工作。圖24 過熱保護(hù)電路(3) 步進(jìn)電機(jī)驅(qū)動(dòng)模塊步進(jìn)電機(jī)是將輸入的電脈沖信號(hào)轉(zhuǎn)換成角位移或直線位移的伺服電動(dòng)機(jī)。圖2給出步進(jìn)電機(jī)的驅(qū)動(dòng)電路。輸出驅(qū)動(dòng)電壓由引腳VS控制,其電壓高低決定了步進(jìn)電機(jī)工作電流的大小,影響步進(jìn)電機(jī)運(yùn)行的快慢,決定走紙快慢。由于本設(shè)計(jì)采用的主控器件帶有串行外圍接口(SPI),所以將SPI用于數(shù)據(jù)加載。當(dāng)數(shù)據(jù)寄存器寫入數(shù)據(jù)后,數(shù)據(jù)開始傳輸。還可以通過無線網(wǎng)絡(luò)來共享此打印機(jī),即把控制芯片當(dāng)作開發(fā)對(duì)象,這樣便變得簡(jiǎn)單、明了。對(duì)于LabView,它是圖形化的編程語言,擺脫了傳統(tǒng)文語言需要一行一行寫代碼的苦惱。LabView修改程序比較麻煩,一旦要改,改動(dòng)的地方就非常大??紤]到在平時(shí)的學(xué)習(xí)中若編寫上位機(jī)的話一直使用LabView,沒有接觸過其它的軟件,但用VB無疑是最快速最簡(jiǎn)便的,實(shí)現(xiàn)的功能也足夠強(qiáng)大,足以滿足我們的基本需要,所以最終采用Visual Basic來編寫上位機(jī)。Cortex M3相對(duì)于2這兩方式來說處于中間狀態(tài),內(nèi)部資源及成本均介于兩者之間,同時(shí)在軟件資源上有很多開源的庫,程序編寫會(huì)很方便,個(gè)人也認(rèn)為比較符合此次課題的要求。在總體方案設(shè)計(jì)中先是對(duì)上位機(jī)軟件進(jìn)行了選擇,并對(duì)市面上常見的軟件進(jìn)行了簡(jiǎn)要的介紹,同時(shí)也給出了本次課題所采用的方案。并集成了現(xiàn)代設(shè)計(jì)數(shù)據(jù)管理功能,使得Altium Designer Winter 09成為電子產(chǎn)品開發(fā)的完整解決方案-一個(gè)既滿足當(dāng)前,也滿足未來開發(fā)需求的解決方案。 其他方面性能的提升還包括:二維制圖-速度提升3倍;二維透視-性能提升11倍;高亮和對(duì)比度調(diào)試-性能提升9倍,三維旋轉(zhuǎn)-性能提升5倍。l 增強(qiáng)PCB建模功能Altium在最新的版本里擴(kuò)充了其實(shí)時(shí)三維PCB設(shè)計(jì)功能。工程師還可以通過元件焊盤來實(shí)現(xiàn)過孔的偏移。新的布線引擎支持對(duì)當(dāng)前路徑物件的繞過,對(duì)現(xiàn)有布線進(jìn)行環(huán)繞并生成新的路徑,對(duì)路徑物件(包括過孔)的推擠,和對(duì)布線路徑的智能完成。Altium同時(shí)還通過交互式的布線引擎來自動(dòng)解決布線中遇到障礙需要改變各種路徑的各種情況。對(duì)于同樣的文件,有些使用者需要打印,而有些則只需要相應(yīng)的PDF文檔。通過集中管理輸出文件的定義和產(chǎn)生過程,整個(gè)輸出的流程更簡(jiǎn)單順暢了。通過中央控制面板可以生成各類輸出文件,并發(fā)送到相關(guān)人員。工程師得以在設(shè)計(jì)階段就可以實(shí)時(shí)進(jìn)行一系列問題的檢查,避免了后期不必要的返工,可以更快速的把產(chǎn)品推向市場(chǎng)。應(yīng)用控制面板不需要Altium Designer的完全許可證就可以下載并安裝,并使面板和FPGA設(shè)計(jì)進(jìn)行交互,使用戶能夠調(diào)試或者甚至在產(chǎn)品發(fā)布以后增加新的功能。這樣,基本但是必要的軟件模塊設(shè)計(jì)被簡(jiǎn)化成拖放預(yù)先配置軟件模塊到設(shè)計(jì)中,工程師得到了解放,能夠真正地專注于核心的產(chǎn)品智能設(shè)計(jì)。使用任何一個(gè)外設(shè)都必須打開相應(yīng)的時(shí)鐘。圖31 時(shí)鐘電路(2) 電源電路VDD=~:VDD管腳為I/O管腳和內(nèi)部調(diào)壓器的供電。VBAT=~:當(dāng)關(guān)閉VDD時(shí),(通過內(nèi)部電源切換器)為RTC、。為了解決此問題,圖33所示的復(fù)位電路增加了二極管,在電源電壓瞬間下降時(shí)使電容迅速放電,一定寬度的電源毛刺也可令系統(tǒng)可靠復(fù)位(提示:二極管可以導(dǎo)通使得電容盡快放電)。C輸出電壓 ≤ Vin ≤ 輸出電流1A最大值短路電流具體電路如圖36所示:圖36 5V電源此外對(duì)于線性穩(wěn)壓芯片,最好在各個(gè)電解電容兩端并聯(lián)一些陶瓷電容,以消除高頻噪聲,除此以外,對(duì)