查看: 2009|回復: 0
打印 上一主題 下一主題

【CC3200實(shí)驗教程6】瘋殼·AI語(yǔ)音人臉識別-串口

[復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2022-8-31 18:28:20 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
關(guān)鍵詞: AI , 語(yǔ)音識別 , 人臉識別 , 串口 , CC3200
CC3200AI實(shí)驗教程
——瘋殼·開(kāi)發(fā)板系列
串口




    串行接口分為異步串行接口和同步串行接口兩種。異步串行接口統稱(chēng)為通用異步收發(fā)器(UART)接口,同步串行接口有SPI和I2C等,同步串行接口除了包含數據線(xiàn)外,還包含時(shí)鐘線(xiàn)。
    本次實(shí)驗中我們使用的是UART,也就是異步串行通信接口。UART的相關(guān)標準規定了接口的機械特性、電氣特性和功能特性等,UART的電氣特性標準包括 RS-232C、RS-422、RS-423和RS-485等,其中RS-232C是最常用的串行通信標準。RS-232C是數據終端設備(DTE)和數據通信設備(DCE)之間串行二進(jìn)制數據交換接口技術(shù)標準,其中DTE包括微機、微控制器和打印機等,DCE包括調制解調器MODEM、GSM模塊和Wi-Fi模塊燈。       
    RS-232C機械特性規定使用25針D型連接器,后來(lái)簡(jiǎn)化為9針D型連接器。RS-232C的電氣特性采用負邏輯:邏輯“1”的電平低于-3V,邏輯“0”的電平高于+3V,這個(gè)TTL的正邏輯(邏輯“1”表示高電平,邏輯“0”表示低電平)不同,因此通過(guò)RS-232C和TTL器件通信時(shí)必須進(jìn)行電平轉換。
    目前微控制器的UART接口采用的是TTL正邏輯,和TTL器件連接不需要電平轉換。和采用負邏輯的計算機相連接時(shí)需要進(jìn)行電平轉換(我們一般使用USB轉串模塊)。
    CC3200包含兩個(gè)可編程UART接口(UARTA0~1),主要特性如下:
    a、可編程的波特率發(fā)生器,允許速度高達3Mbps;
    b、獨立的16*8發(fā)送和接口FIFO,減輕CPU中斷處理負載;
    c、可編程FIFO長(cháng)度,包括提供傳統雙緩沖接口的單字節操作;
    d、FIFO觸發(fā)閾值包括1/8、1/4、1/2、3/4和7/8;
    e、標準的異步通信起始、停止和奇偶校驗位。
    CC3200的UART接口具有以下可編程串行接口特性:
    a、可編程的5、6、7或8位數據;
    b、偶、奇或無(wú)校驗生成/檢測;
    c、1或2個(gè)停止位生成;
    d、支持RTS和CTS調制解調器握手;
    e、標準的FIFO閾值中斷和傳輸結束中斷。
    CC3200的UART支持DMA,使用DMA可實(shí)現高效傳輸,UART具有單獨的DMA發(fā)送和接收通道。支持當FIFO中有數據的單個(gè)請求接收和可編程FIFO閾值的突發(fā)請求接收以及FIFO中有空間的單個(gè)請求發(fā)送和可編程FIFO閾值的突發(fā)請求發(fā)送。
    1.1寄存器
    UARTDR為數據寄存器(也是FIFOs的接口)。
    在發(fā)送數據時(shí),如果FIFO使能了,則寫(xiě)入該寄存器的數據會(huì )發(fā)送到發(fā)送FIFO 中。如果FIFO關(guān)閉,數據會(huì )被存儲在發(fā)送保持寄存器中(發(fā)送FIFO最低一個(gè)字)。寫(xiě)該寄存器意味著(zhù)通過(guò)串口發(fā)送。
    在接收數據時(shí),如果FIFO使能了,數據字節和4位狀態(tài)位被發(fā)送到12位寬的接收FIFO中。如果FIFO關(guān)閉,數據字節和狀態(tài)被存儲在接收保持寄存器中(接收FIFO中的最低一個(gè)字)?梢酝ㄟ^(guò)讀取該寄存器來(lái)獲取接收數據。如圖1.0.1所示為UARTDR寄存器,如圖1.0.2為其位定義。

   
    圖1.0.1 UARTDR寄存器

   
    圖1.0.2 UARTDR寄存器位定義
    UARTRSR_UARTECR是接收狀態(tài)寄存器/錯誤清除寄存器。除了UARTDR寄存器之外,接收的狀態(tài)位也可以通過(guò)UARTRSR寄存器獲取。如果從該寄存器讀取狀態(tài)信息,則狀態(tài)信息對應與在讀取UARTRSR寄存器之前的UARTDR的狀態(tài)信息。當有溢出條件發(fā)生時(shí),狀態(tài)位中的溢出標志位會(huì )立刻被置位。UARTRSR寄存器不能被寫(xiě)。寫(xiě)任何值到寄存器UARTECR中將會(huì )清除幀、校驗、打斷和溢出錯誤。復位會(huì )清零所有的位。如圖1.0.3所示為UARTRSR_UARTECR寄存器,如圖1.0.4為其位定義。

   
    圖1.0.3 UARTRSR_UARTECR寄存器

   
    圖1.0.4 UARTRSR_UARTECR寄存器位定義
    UARTFR為標志寄存器。在復位之后,TXFF、RXFF和BUSY標志位為0,TXFE 和RXFE位為1。RI和CTS位指示調制解調器的控制流和狀態(tài)。這里需要注意的是,調制解調位只在UART1中有效,在UART0中是保留位。如圖1.0.5所示為UARTFR,圖1.0.6為其位定義。

   
    圖1.0.5 UARTFR寄存器

   
    圖1.0.6 UARTFR寄存器位定義
    UARTIBRD寄存器是波特率除數的整數部分。復位之后所有的位被清零。最小值為1(當UARTIBRD為0時(shí)),此時(shí)UARTFBRD寄存器無(wú)效。當改變UARTIBRD 寄存器時(shí),只有在當前的字節傳輸完成之后才生效。波特率除數的任何改變都必須在寫(xiě)UARTLCRH寄存器之后。如圖1.0.7所示為UARTIBRD寄存器。

   
    圖1.0.7 UARTIBRD寄存器
    UARTFBRD寄存器是波特率除數的小數部分。復位之后所有的位被清零。當修改UARTFBRD寄存器的值時(shí),只有在當前字節發(fā)送或者接收完成之后才會(huì )有效。波特率除數的任何改變都必須在寫(xiě)UARTLCRH寄存器之后。如圖1.0.8所示為UARTFBRD寄存器。

   
    圖1.0.8 UARTFBRD寄存器
    UARTLCRH寄存器是線(xiàn)控制寄存器。該寄存器控制串口的數據長(cháng)度、校驗和停止位的選擇。當更新波特率除數寄存器的時(shí)候,必須也要重寫(xiě)該寄存器。因為波特率除數寄存器的寫(xiě)選通信號和該寄存器是連接在一起的。如圖1.0.9所示為UARTLCRH寄存器,圖1.1.0為其位定義。

   
    圖1.0.9 UARTLCRH寄存器



    圖1.1.0 UARTLCRH寄存器位定義
    UARTCTL是控制寄存器。在復位之后,除了發(fā)送和接收使能位之外,其它位都被清零。UARTEN位用于使能UART模塊。在配置串口模塊時(shí)必須將該位清零。如果在串口進(jìn)行發(fā)送或者接收的操作時(shí)關(guān)閉串口模塊功能,則在完成當前發(fā)送或者接收操作之后才關(guān)閉。如圖1.1.1所示為UARTCTL寄存器,如圖1.1.2為其位定義。
    注意:在UART使能的狀態(tài)下,UARTCTL寄存器不能被改變,否則結果是無(wú)法預測的。修改UARTCTL寄存器時(shí)建議按照下面的操作進(jìn)行:
    1、關(guān)閉UART;
    2、等待當前字節的發(fā)送或者接收操作完成;
    3、通過(guò)清零UARTLCRH寄存器中的FEN位來(lái)清除發(fā)送FIFO;
    4、重新寫(xiě)控制寄存器;
    5、使能UART模塊。

   
    圖1.1.1 UARTCTL寄存器

   
    圖1.1.2 UARTCTL寄存器位定義
    UARTIFLS是選擇FIFO產(chǎn)生中斷閾值的寄存器?梢允褂迷摷拇嫫鱽(lái)定義FIFO的閾值,同時(shí)UARTRIS寄存器中的TXRIS和RXRIS位被觸發(fā)。產(chǎn)生中斷是基于一個(gè)發(fā)送操作超過(guò)閾值而不是等于閾值。也就是說(shuō)FIFO中的數據超過(guò)規定的閾值之后才會(huì )產(chǎn)生中斷。例如,如果接收的觸發(fā)閾值設置為一般(8字節),那么在串口模塊接收到第9個(gè)字節的時(shí)候才會(huì )產(chǎn)生中斷。在復位之后,TXIFLSEL和RXIFLSEL位被配置,所以FIFOs在接收一半時(shí)觸發(fā)中斷。如圖1.1.3所示為UARTRIS寄存器及其位定義。

   
    圖1.1.3 UARTIFLS及其位定義
    UARTIM是中斷掩碼置位/清零寄存器。讀取該寄存器則獲得當前中斷的掩碼值。進(jìn)行置位時(shí),對應的中斷將被發(fā)送到中斷控制器。清零操作則對應的中斷不會(huì )被發(fā)送到中斷控制器。如圖1.1.4所示為UARTIM寄存器,如圖1.1.5為其位定義。


    圖1.1.4 UARTIM寄存器

   
    圖1.1.5 UARTIM寄存器位定義
    UARTRIS是源中斷狀態(tài)寄存器?梢宰x取到當前中斷源。寫(xiě)操作無(wú)效,如圖1.1.6所示為UARTRIS寄存器,如圖1.1.7為其位定義。

   
    圖1.1.6 UARTRIS寄存器

   
    圖1.1.7 UARTRIS寄存器位定義
    UARTMIS是中斷掩碼狀態(tài)寄存器。讀該寄存器獲取對應中斷的掩碼值。寫(xiě)操作無(wú)效。如圖1.1.8所示為UARTMIS寄存器,如圖1.1.9為其位定義。

   
    圖1.1.8 UARTMIS寄存器

   
    圖1.1.9 UARTMIS寄存器位定義
    UARTICR是中斷清零寄存器。置位則對應的中斷被清除(清除中斷源寄存器和中斷掩碼寄存器中對應的位),清零操作無(wú)效。如圖1.2.0所示是為UARTICR寄存器,如圖1.2.1為其位定義。

   
    圖1.2.0 UARTICR寄存器

  
    圖1.2.1 UARTICR寄存器位定義
    UARTDMACTL是DMA控制寄存器。如圖1.2.2所示為UARTDMACTL寄存器及其位定義。

  
    圖1.2.2 UARTDMACTL寄存器及其位定義
    1.2實(shí)驗現象
    打開(kāi)CC3200_Uart_Demo文件夾里的工程,該工程主要是把CC3200的UARTA0的波特率為115200bps,8位數據位,1個(gè)停止位,無(wú)奇偶校驗位,如圖1.2.3所示。

   
    圖1.2.3 串口參數設置
    當串口接收到數據后,把接收到的數據再通過(guò)串口發(fā)送出去,編譯工程,打開(kāi)Uniflash,把bin文件下載到CC3200板子上(具體步驟請參考GPIO小節)。
    把“CH340G_VCC”和串口選擇的第一個(gè)“RXD”和第二個(gè)“TXD”撥碼開(kāi)關(guān)均撥到“ON”。
    插上USB數據線(xiàn)接到電腦,打開(kāi)串口助手,選擇串口號,波特率設置為115200bps,按下板子的復位可見(jiàn)串口打印,如圖1.2.4所示。

   
    圖1.2.4 復位時(shí)串口打印
    在發(fā)送框內輸入瘋殼的網(wǎng)址,點(diǎn)擊發(fā)送,串口助手收到CC3200的回傳,如圖1.2.5所示。

   
    圖1.2.5 串口助手收到回傳



文件下載請點(diǎn)擊: 【4】串口.pdf (2.72 MB)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页