亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于STM32的無線公交自動報站系統(tǒng)

        2022-10-19 04:51:26肖湘江鐘清梅周玲游珍珍
        電子制作 2022年19期
        關(guān)鍵詞:信號設(shè)計(jì)

        肖湘江,鐘清梅,周玲,游珍珍

        (湖南科技學(xué)院 智能制造學(xué)院,湖南永州, 425199)

        0 引言

        近些年來,越來越完善的公交系統(tǒng),對公交車內(nèi)的環(huán)境改變也提出了要求,將傳統(tǒng)的人工售票改為無人售票,傳統(tǒng)的人工報站逐漸轉(zhuǎn)為報站器報站。因此,公交車語音自動報站的發(fā)展趨勢越來越明顯。傳統(tǒng)的汽車報站器都是采用專用語音合成芯片制成的,語音合成芯片受信息容量、語音音質(zhì)的限制,且更換信息需專業(yè)設(shè)備及人士[1],顯得非常的麻煩。手動電子報站系統(tǒng)給行駛中的車輛帶來一定的安全隱患[2],GPS衛(wèi)星定位報站系統(tǒng)投資昂貴,且在接收信號時容易受干擾[3],利用車輛行駛軌跡設(shè)計(jì)的一種報站系統(tǒng):該報站方法根據(jù)公交車起步后的行駛距離、開關(guān)門信號和進(jìn)站打轉(zhuǎn)向燈的方式綜合判斷車輛是否到站[4],這種方式雖然在一定程度上是做到了自動報站,但是它要求駕駛員要有很好的駕駛技術(shù),嚴(yán)格按照駕駛規(guī)范操作,稍有錯誤就有可能導(dǎo)致公交車報站錯誤,且技術(shù)安裝也比較復(fù)雜。因此,本次提出的是一款使用STM32F103RCT6芯片作為主控制器,外加433M無線模塊、語音播報模塊以及OLED顯示模塊設(shè)計(jì)的公交車語音自動報站系統(tǒng),它不僅可以讓公交車公司節(jié)省人工開支費(fèi)用,也可以用更為標(biāo)準(zhǔn)的普通話播報站點(diǎn)信息,使乘客有更好更舒適的體驗(yàn)。

        1 系統(tǒng)總體設(shè)計(jì)

        本次設(shè)計(jì)所研究的系統(tǒng)是以STM32F103RCT6單片機(jī)芯片為核心,總體可以劃分為MP3語音播報模塊,433M無線模塊和OLED屏模塊。系統(tǒng)設(shè)計(jì)框圖如圖1所示,MP3語音播報模塊顧名思義就是用來語音報站的;433M無線模塊分為兩部分,一部分是發(fā)射模塊,放在公交站點(diǎn),一部分是解碼接收模塊,放在公交車上,用來自動識別公交站點(diǎn);OLED屏用來實(shí)時顯示當(dāng)前時間和當(dāng)前公交車所在站點(diǎn),以方便乘客隨時了解時間和當(dāng)前站點(diǎn),避免出現(xiàn)坐過站的尷尬。

        圖1 系統(tǒng)設(shè)計(jì)框圖

        2 硬件設(shè)計(jì)

        ■2.1 STM32介紹

        STM32F103RCT6使用的是ARM Cortex-M3內(nèi)核,工作頻率最高可以設(shè)置成72MHz;支持睡眠、待機(jī)、停機(jī)三種低功耗模式,開發(fā)者完全可以根據(jù)實(shí)際項(xiàng)目要求選擇合適的模式;有兩個DMA,能夠在有效的管理MCU在工作時產(chǎn)生的數(shù)據(jù)傳輸,減少CPU功耗;有多個定時器,可以應(yīng)用在普通定時、PWM控制、看門狗定時等,能夠滿足用戶的實(shí)際需求。其控制系統(tǒng)電路圖如圖2所示。

        圖2 STM32最小控制系統(tǒng)電路圖

        ■2.2 433M無線模塊

        PT2262/2272是一對帶地址、數(shù)據(jù)編碼功能的紅外遙控發(fā)射/接收芯片[5]。發(fā)射模塊使用的是PT2262-IR芯片,該芯片集成了編碼器、載波振蕩器以及發(fā)射芯片,從而在一定程度上簡化了發(fā)射電路。PT2262發(fā)射電路如圖3 所示。

        圖3 PT2262發(fā)射電路

        PT2262發(fā)射的載波信號為433MHz,PT2262-IR芯片產(chǎn)生的載波信號是自帶原始信號的,相對于沒有IR標(biāo)識的PT2262非紅外芯片,電路要簡單得多,因?yàn)镻T2262非紅外芯片需要提供一個載波信號發(fā)射電路。

        PT2262中A0~A5這六根線為地址線,若解碼器沒有數(shù)據(jù)線,則A6~A11作為地址線使用,這種情況下,A0~A11共12根地址線,每線都可以設(shè)置成“1”、“O”、“開路”三種狀態(tài)之一,因此共有編碼數(shù)312 =531441種[6];此次設(shè)計(jì)使用的是PT2272解碼芯片,其有數(shù)據(jù)線,所以PT2262編碼芯片的A6~A11只能用作數(shù)據(jù)線,并且只有“1”和“0”兩種狀態(tài),因此PT2262編碼芯片地址線只有六根,只能組合成36 = 729種編碼。PT2272接收電路如圖4所示。

        圖4 PT2272接收電路

        接收芯片PT2272根據(jù)其芯片的命名方式的不同,決定了該芯片的存儲方式和有幾個數(shù)據(jù)輸出位,該命名后綴有“M”和“L”兩種,分別為“暫存型”和“鎖存型”,后面接的數(shù)值則表示數(shù)據(jù)輸出為幾位。在這里,使用的是PT2272-M4,則表示數(shù)據(jù)輸出為4位的暫存型紅外遙控接收芯片[7]。

        ■2.3 JQ8900-16P語音播報模塊

        JQB8900-16P語音播報模塊選用的是SOC方案,集成了一個16位的MCU以及一個專門針對音頻解碼的ADSP,采用硬解碼的方式,更加保證了系統(tǒng)的穩(wěn)定性和音質(zhì)[8]。傳統(tǒng)的語音芯片想要更換語音,需要開發(fā)者通過上位機(jī)來操作,但此芯片使用SPI-FLASH直接模擬成U盤,更改

        語音就跟直接拷貝U盤文件一樣方便,更有優(yōu)勢。JQB8900-16P語音播報模塊原理圖如圖5 所示。

        圖5 JQB8900-16P語音播報模塊原理圖

        ■2.4 OLED屏

        本次設(shè)計(jì)使用的是中景園電子的0.96寸OLED屏顯示車站等信息。OLED屏顯示技術(shù)與常見的LCD屏顯示方式有所差異,最大的特點(diǎn)就是其不需要使用背光燈,因其使用特殊的有機(jī)材料,所以只要上電工作,使用命令就可以驅(qū)動OLED屏發(fā)光。LCD屏因?yàn)樾枰彻庠床趴梢园l(fā)光,所以無法將屏幕做得很輕薄,這一點(diǎn),OLED屏就有很大的發(fā)展空間。因?yàn)橹恍枰碗妷壕涂梢则?qū)動,所以低功耗也是它的一個優(yōu)點(diǎn)。

        OLED屏電路圖電路如圖6所示。

        圖6 OLED屏電路圖

        3 軟件設(shè)計(jì)

        ■3.1 軟件設(shè)計(jì)流程圖

        整個系統(tǒng)軟件主要通過GPIO口、SPI通信、Systick滴答定時器、USART串口、定時器、中斷實(shí)現(xiàn)無線接收模塊等待發(fā)射模塊發(fā)送的數(shù)據(jù),當(dāng)433M無線接收模塊接收到來自站點(diǎn)信的發(fā)射模塊發(fā)出的有效信號時,通過輸出高電平告訴MCU,MCU檢測到高電平,驅(qū)動語音播報模塊播放語音信息,同時驅(qū)動OLED屏顯示到達(dá)站點(diǎn)信息,LED燈一秒閃爍一次提示乘客。本次設(shè)計(jì)軟件設(shè)計(jì)流程圖如圖7所示。

        圖7 軟件設(shè)計(jì)流程圖

        ■3.2 JQB8900-16P語音播報模塊程序設(shè)計(jì)

        JQB8900-16P語音播報模塊有多種控制方式,一線串口控制方式、兩線串口控制方式和按鍵方式等。本次設(shè)計(jì)只需要控制語音播報,因此,使用一線串口控制方式,就可以滿足設(shè)計(jì)要求了。

        (1)一線串口通信協(xié)議

        通信協(xié)議是指通信各方在通信前先定好的規(guī)則,可以簡單理解為各個通信模塊之間進(jìn)行通信時所用到的共同的語言。MCU想要控制JQB8900-16P語音播報模塊,也需要有一個通信協(xié)議。

        由時序圖可知,發(fā)送數(shù)據(jù)之前要把SDA拉高,穩(wěn)定之后發(fā)送一個低電平引導(dǎo)碼,引導(dǎo)碼要求至少延遲2ms,之后才開始發(fā)送數(shù)據(jù),每個數(shù)據(jù)位用兩個脈沖表示,根據(jù)脈沖的比例來判斷該位是高電平還是低電平。

        (2)控制說明

        0x00~0x09:用來表示數(shù)字0到9的數(shù)值。

        0x0a:控制指令,用來將前一次接收到的數(shù)據(jù)清零。

        0x0b~0x10:控制指令,與第一條數(shù)據(jù)指令一起使用。

        0x11~0x1c:控制相關(guān)操作的指令。

        (3)一線串口語音文件名命名方式

        文件名由5位數(shù)字組成,有且僅有5位,這5位數(shù)字不僅作為文件名。播放指令0x0b還需要通過這個5位數(shù)的數(shù)值來判斷播放哪一個語音文件。所以在使用過程中如果沒有按照這個格式命名,就無法播放語音文件。

        ■3.3 433M無線模塊程序設(shè)計(jì)

        (1)編解碼芯片工作原理

        PT2262發(fā)射芯片產(chǎn)生的編碼信號是由地址碼、數(shù)據(jù)碼、同步碼組成。PT2272接收芯片在接收到PT2262發(fā)出來的信號后,將對地址碼進(jìn)行兩次核查,VT腳在兩次比較都相同的時候會輸出高電平,接收芯片上對應(yīng)的數(shù)據(jù)腳也是輸出高電平。PT2262每次發(fā)射時至少發(fā)射4組碼字,因?yàn)闊o線發(fā)射的特點(diǎn),第一組字碼非常容易受零電平干擾,往往會產(chǎn)生誤碼,所以PT2272在有在連續(xù)兩次檢測到相同的地址碼加數(shù)據(jù)碼中的“1”驅(qū)動相應(yīng)的數(shù)據(jù)輸出端為高電平和驅(qū)動VT端同步為高電平[16]。

        (2)編碼芯片的編碼格式

        PT2262/PT2272的編碼格式為:

        0:用高電平寬度:總寬度(2周期)為1:3的波形表示;

        1:用高電平寬度:總寬度(2周期)為2:3的波形表示;

        開路:用高電平:總寬度(1周期)為1:3的波形緊隨著高電平:總寬度(1周期)為2:3的波形表示。

        地址碼和數(shù)據(jù)碼與的信號有所不同,是采用寬度不同的脈沖表示,“0”用兩個窄脈沖來表示,“1”則用兩個寬脈沖來表示;地址碼的懸空,也就是“F”,是用一個窄脈沖和一個寬脈沖來表示。

        (3)PT2272接收模塊的程序代碼

        在本次設(shè)計(jì)中,為了方便調(diào)試,采用的是學(xué)習(xí)型PT2262遙控器發(fā)射編碼信號,PT2272接收模塊通過IO口

        與主控芯片連接,當(dāng)接收到發(fā)射模塊的信號時,進(jìn)行兩次檢測后數(shù)據(jù)正確才將對應(yīng)的數(shù)據(jù)引腳輸出高電平,主控芯片接收到信息之后驅(qū)動語音模塊播報和顯示模塊顯示。

        ■3.4 OLED顯示模塊程序設(shè)計(jì)

        OLED屏是通過4線串行(SPI)方式與STM32F103RCT6主控制器進(jìn)行通信的。在4線串行模式下,模塊與主控制器只有一根數(shù)據(jù)線,且只能是主控制器往模塊里寫數(shù)據(jù),不能向模塊獲取數(shù)據(jù),因?yàn)镺LED屏只用作顯示,所以足以滿足本次設(shè)計(jì)的需求。

        在4線SPI模式下,每一個數(shù)據(jù)的長度總共有8位,在時鐘(D0)的上升沿到來時,數(shù)據(jù)從D1一位一位移入SSD1306,而且是高位優(yōu)先。SSD1306將顯存分成8頁,總共有128×64bit大小。

        第一個命令共有兩個字節(jié),用來設(shè)置顯示屏的對比度,先發(fā)送控制命令0x81,緊接著發(fā)送一個不超過0xFF的值,這個值越大,屏幕就越亮。

        第二個命令是控制顯示屏的開關(guān),點(diǎn)亮顯示屏則發(fā)送0xAF控制命令,否則發(fā)送0xAE。

        第三個命令共有兩個字節(jié),用來控制電荷泵的開關(guān),先發(fā)送控制命令0x8D,在發(fā)送一個數(shù)值,這個數(shù)值只需要設(shè)置第2位,開啟電荷泵將該位置1,否則清零。在對模塊進(jìn)行初始化時,一定要發(fā)送這個命令將電荷泵開啟,不然屏幕就無法顯示。

        第四個命令用來設(shè)置頁地址,設(shè)置GRAM的某一頁地址只需要使用該命令對低三位賦對應(yīng)的值。

        第五個命令和第六個命令分別用來設(shè)置顯示時起始地址的低四位和高四位。

        PCtoLCD2002取模軟件:要將漢字等字符顯示在OLED屏上,還有一個關(guān)鍵的步驟,即通過取模軟件把字符轉(zhuǎn)化成點(diǎn)陣集。PCtoLCD2002取模軟件可以提供各種字符,包括漢字、圖片提取。點(diǎn)擊設(shè)置按鈕,就可以在設(shè)置界面里選擇自己喜歡的取模方式。設(shè)置完取模方式,回到主界面,輸入我們要生成字模的漢字或者符號,點(diǎn)擊生成字模,就可以得到想要的點(diǎn)陣集,把點(diǎn)陣集移植到代碼中,通過相關(guān)的顯示函數(shù)調(diào)用,就可以在OLED屏上顯示出來了。

        OLED程序流程如下:

        ①設(shè)置OLED模塊與主控制器連接的引腳。

        D0(SCLK):PA5

        D1(SDIN):PA7

        RES:PD2

        DC:PB5

        CS:PA4

        ②對顯示模塊進(jìn)行引腳等初始化。

        ③編寫相應(yīng)的函數(shù)驅(qū)動顯示模塊顯示。

        4 系統(tǒng)測試

        代碼整合編譯無誤后,將生成的.hex文件通過串口調(diào)試助手下載到主控制器中,使用PT2262紅外遙控器模擬公交站點(diǎn)發(fā)送信號,該紅外遙控器有四個按鍵,每個按鍵代表一個車站,按下某一個按鍵時,連接在單片機(jī)上的PT2272解碼模塊接收到信號后,對應(yīng)的數(shù)據(jù)輸出引腳輸出高電平告知單片機(jī),OLED屏成功顯示對應(yīng)的站點(diǎn)名稱,且JQB8900語音播報模塊開始自動播報“xxx站到了,下車的乘客請從后門下車”。測試結(jié)果如圖8所示。

        圖8 測試結(jié)果

        5 結(jié)束語

        本次設(shè)計(jì)的基于STM32開發(fā)的一款無線公交自動報站系統(tǒng)是一款比較經(jīng)濟(jì)實(shí)用且安全的智能交通輔助設(shè)備。經(jīng)測試,無線公交自動報站系統(tǒng)能實(shí)現(xiàn)語音智能公交報站,達(dá)到設(shè)計(jì)需求,具有一定的使用價值。

        猜你喜歡
        信號設(shè)計(jì)
        信號
        鴨綠江(2021年35期)2021-04-19 12:24:18
        完形填空二則
        何為設(shè)計(jì)的守護(hù)之道?
        《豐收的喜悅展示設(shè)計(jì)》
        流行色(2020年1期)2020-04-28 11:16:38
        孩子停止長個的信號
        瞞天過?!律O(shè)計(jì)萌到家
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計(jì)叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        基于LabVIEW的力加載信號采集與PID控制
        一種基于極大似然估計(jì)的信號盲抽取算法
        无码毛片内射白浆视频| 日本中文字幕av网址| 亚洲女同性恋激情网站| 亚洲视频在线一区二区| 国产台湾无码av片在线观看| h在线国产| 日本道免费一区日韩精品| 亚洲va视频一区二区三区| 米奇7777狠狠狠狠视频影院| 欧美另类视频在线| 午夜日韩视频在线观看| 中文字幕影片免费人妻少妇 | 风流老熟女一区二区三区| 日韩AV不卡六区七区| 蜜桃网站在线免费观看视频| 黄片视频大全在线免费播放| 久久婷婷人人澡人人喊人人爽| 激情另类小说区图片区视频区| 午夜视频免费观看一区二区 | 老熟女高潮一区二区三区| 国产精品深夜福利免费观看| 我想看久久久一级黄片| 无套中出丰满人妻无码| 精品一区二区三区在线观看| 日本人妻少妇精品视频专区| 亚洲av毛片在线免费看| 中文字幕日韩人妻不卡一区| 国产高清无码91| 四月婷婷丁香七月色综合高清国产裸聊在线| 亚洲熟妇av日韩熟妇av| 亚洲中文字幕精品视频| 精品无码国产一区二区三区av| 欧美成人三级网站在线观看 | 亚洲国产成人一区二区精品区| 女人扒开屁股爽桶30分钟| 久久免费视亚洲无码视频| 青青操视频手机在线免费观看| 国产亚洲精品成人aa片新蒲金| 国产偷国产偷亚洲清高| 精品蜜桃一区二区三区| 五月开心婷婷六月综合|