0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

KT148A一線(xiàn)串口通訊的注意事項(xiàng)以及常見(jiàn)的調(diào)試問(wèn)題點(diǎn)總結(jié)歸納

清月電子 ? 來(lái)源:清月電子 ? 作者:清月電子 ? 2022-09-26 14:39 ? 次閱讀

一、簡(jiǎn)介
KT148A語(yǔ)音芯片是受主MCU控制的,使用的是單線(xiàn)通訊的方式,也就是俗稱(chēng)串口通信,注意不是UART通信,通信的協(xié)議也是非標(biāo)準(zhǔn)的,詳細(xì)的可以看看芯片說(shuō)明書(shū)。

pYYBAGMxSOiAGpzqAAG2B9D372c780.png

二、詳細(xì)說(shuō)明
2.1 我們給出的參考代碼
/*******************************************************************************
- 函數(shù)說(shuō)明:一線(xiàn)通數(shù)據(jù)發(fā)送【注意調(diào)試的時(shí)候,用示波器或者邏輯分析儀看一下脈沖寬度】
- 隸屬模塊:內(nèi)部
- 參數(shù)說(shuō)明:dat = 待發(fā)送的數(shù)據(jù)
- 返回說(shuō)明:無(wú) -- 這里對(duì)應(yīng)的就是PA6這個(gè)GPIO ,不同的MCU,對(duì)于IO口的操作不同,這個(gè)自己理解了
- 備注:整體的通訊邏輯如下:
1、先把數(shù)據(jù)線(xiàn)DATA,也就是ONELINE,拉低 6ms 后,發(fā)送 8 位數(shù)據(jù),先發(fā)送低位,再發(fā)送高位。
2、使用高電平和低電平比例來(lái)表示每個(gè)數(shù)據(jù)位的值。
3、推薦使用 200us:600us。取值范圍:窄脈沖=[150us--400us] 寬脈沖[500us--1000us]
********************************************************************************/
#define IO1_HIGH() JL_PORTA->DIR &= ~BIT(6);JL_PORTA->OUT |= BIT(6); //PA6輸出高電平
#define IO1_LOW() JL_PORTA->DIR &= ~BIT(6);JL_PORTA->OUT &= ~BIT(6); //PA6輸出低電平
void oneline_send_one_data(u8 dat)
{
u8 i = 0 ;
IO1_LOW() ;/*現(xiàn)將總線(xiàn)拉低*/
udelay(5000) ;/*延時(shí)6MS --- 這里就是發(fā)起通訊的起始信號(hào)------注意不同的芯片延時(shí)不一樣,請(qǐng)自行測(cè)試*/
OS_ENTER_CRITICAL();//關(guān)中斷--芯片不同,可能接口不同
for(i=0 ; i<8 ;i++){
if(dat & 0x01){
IO1_HIGH() ;
udelay(500);/*延時(shí)600us*/
IO1_LOW();
udelay(170) ;/*延時(shí)200us*/
}else{
IO1_HIGH() ;
udelay(170);/*延時(shí)200us*/
IO1_LOW();
udelay(500) ;/*延時(shí)600us*/
}
dat = dat >> 1 ;/*發(fā)送的時(shí)候,先發(fā)送最高位,再發(fā)送次高位,以此類(lèi)推*/
}
IO1_HIGH() ;/*空閑時(shí)將該腳拉高即可*/
OS_EXIT_CRITICAL();//開(kāi)中斷
/*同時(shí)注意,芯片初始化的時(shí)候,請(qǐng)將信號(hào)腳拉高。*/
}
程序調(diào)用的接口如下:
oneline_send_one_data(0x05);//對(duì)應(yīng)播放第5段聲音
發(fā)不同的命令,就請(qǐng)對(duì)照詳細(xì)的手冊(cè),有描述的,耐心看看 ,詳細(xì)看看手冊(cè)的章節(jié)三和章節(jié)四

/******************************例程可能出現(xiàn)的疑惑********************************
1、為什么按照例程發(fā)的數(shù)據(jù),沒(méi)反應(yīng)呢?
==》面對(duì)這個(gè)問(wèn)題,應(yīng)該是借助儀器:示波器、邏輯分析儀等等儀器來(lái)測(cè)試你的波形
==》而不是來(lái)問(wèn)我們什么原因,我們也沒(méi)法給出意見(jiàn),最好用儀器看一下,找出問(wèn)題來(lái)

2、為什么程序里面,需要關(guān)中斷、再來(lái)開(kāi)中斷呢?
==》這樣的目的,是為了保證波形的完整性,因?yàn)槟愕模⒁馐悄愕膍cu運(yùn)行時(shí)候,可能存在
多種中斷交替,這樣就會(huì)導(dǎo)致在發(fā)送波形的途中,被打斷,導(dǎo)致時(shí)間變長(zhǎng),或者其他
==》這個(gè)就看你具體的程序邏輯了,其實(shí)這樣的問(wèn)題我們也不想回答,這是您應(yīng)該知道的
********************************************************************************/

poYBAGMxSPSAXR9-AAHMaNhm9cg285.png

2.2 參考波形圖--邏輯分析儀

注意點(diǎn):
1、起始信號(hào)一定不能低于6ms ,請(qǐng)嚴(yán)格按照這個(gè)去寫(xiě)程序
2、遇到問(wèn)題,第一時(shí)間,請(qǐng)用工具,用工具,不要一開(kāi)始就問(wèn)我們?cè)趺窗l(fā)數(shù)據(jù)了,沒(méi)反應(yīng),很崩潰的
3、另外很多的工程師,可能不習(xí)慣于用邏輯分析儀,都喜歡拿示波器去量。真的實(shí)在是太痛苦了
只要是數(shù)字信號(hào),推薦邏輯分析儀,不僅波形抓起來(lái)漂亮直觀(guān),抓數(shù)據(jù)的時(shí)間還長(zhǎng),

強(qiáng)烈推薦使用,老手請(qǐng)忽視


2.3 關(guān)于芯片待機(jī)5秒自動(dòng)進(jìn)入待機(jī)

1、由于芯片要兼容低功耗的應(yīng)用,所以不得不設(shè)計(jì)一個(gè)低功耗的機(jī)制

2、芯片一旦進(jìn)入空閑,計(jì)時(shí)超過(guò)5秒之后,自動(dòng)待機(jī),功耗為25uA左右。進(jìn)入待機(jī)之后芯片所有的外設(shè)都是關(guān)閉的,包括busy腳也是弱上拉的狀態(tài)

3、進(jìn)入待機(jī)之后,芯片的data腳,設(shè)置的是下降沿喚醒,所以當(dāng)主MCU發(fā)送數(shù)據(jù)的時(shí)候,為什么前面需要6ms的起始信號(hào),很大一部分的原因,是因?yàn)樾酒瑔拘阎蟮秸Wx取一線(xiàn)的數(shù)據(jù),中間需要大概2-3ms的時(shí)間 。所以起始信號(hào)一定要給足6ms


2.4 關(guān)于芯片低功耗的F0指令說(shuō)明

1、如果需要芯片的功耗再低,則需要發(fā)送F0指令,任何狀態(tài)下都可以

2、芯片接收到F0指令之后,就會(huì)進(jìn)入關(guān)機(jī)狀態(tài),功耗維持在1.7uA左右
3、如果需要芯片再次接收指令,必須先將dat信號(hào)拉低40ms,讓芯片被喚醒,再發(fā)送數(shù)據(jù)就可以了
==》這里的主MCU發(fā)送40ms的低電平之后,再緊接著將data腳拉高就可以了
==》此時(shí)如果需要發(fā)指令,就再延時(shí)個(gè)15ms就可以了,合計(jì)也就是65ms左右了

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17227

    瀏覽量

    351953
  • 串口
    +關(guān)注

    關(guān)注

    14

    文章

    1557

    瀏覽量

    76741
  • 語(yǔ)音芯片
    +關(guān)注

    關(guān)注

    12

    文章

    1770

    瀏覽量

    36624
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    UART串口通訊硬件常見(jiàn)注意事項(xiàng)有哪些

    串口通訊的數(shù)據(jù)格式是怎樣的?串口通訊硬件常見(jiàn)注意事項(xiàng)有哪些?
    發(fā)表于 12-06 07:28

    KT148A語(yǔ)音芯片的常見(jiàn)問(wèn)題

    (1)、KT148A顆專(zhuān)用于語(yǔ)音播報(bào),芯片內(nèi)置420秒的語(yǔ)音空間,直驅(qū)揚(yáng)聲器,可以重復(fù)燒錄,用戶(hù)也可以自己更換聲音,使用簡(jiǎn)單的一線(xiàn)串口控制,成本低,性?xún)r(jià)比高
    的頭像 發(fā)表于 07-03 09:12 ?878次閱讀

    DSP語(yǔ)音芯片KT148A簡(jiǎn)介

    九齊ny3p語(yǔ)音芯片替代方案國(guó)產(chǎn)KT148A性?xún)r(jià)比更高420秒長(zhǎng)度
    的頭像 發(fā)表于 07-30 10:39 ?2816次閱讀
    DSP語(yǔ)音芯片<b class='flag-5'>KT148A</b>簡(jiǎn)介

    KT148A語(yǔ)音芯片怎么燒錄語(yǔ)音進(jìn)入芯片里面

    KT148A語(yǔ)音芯片怎么燒錄語(yǔ)音進(jìn)入芯片里面,這里需要用到串口和電腦端的工具
    的頭像 發(fā)表于 08-01 09:01 ?2549次閱讀
    <b class='flag-5'>KT148A</b>語(yǔ)音芯片怎么燒錄語(yǔ)音進(jìn)入芯片里面

    KT148A語(yǔ)音芯片的工作原理及架構(gòu)

    KT148A芯片內(nèi)部采用的是 MCU + spiflash架構(gòu),是疊層封裝在起的,也就是兩顆晶圓封在顆芯片里面
    的頭像 發(fā)表于 08-01 09:00 ?1544次閱讀
    <b class='flag-5'>KT148A</b>語(yǔ)音芯片的工作原理及架構(gòu)

    KT148A語(yǔ)音芯片替代OTP常見(jiàn)問(wèn)題集錦

    KT148A是什么? 具備哪些功能? 有什么特色?
    的頭像 發(fā)表于 11-21 09:03 ?1110次閱讀
    <b class='flag-5'>KT148A</b>語(yǔ)音芯片替代OTP<b class='flag-5'>常見(jiàn)</b>問(wèn)題集錦

    語(yǔ)音芯片KT148A一線(xiàn)串口KT148A串口版本以及按鍵版本有什么區(qū)別_V1

    目前KT148A語(yǔ)音芯片自帶的程序,分為兩個(gè)版本,分別是 1、一線(xiàn)串口版本:應(yīng)用場(chǎng)景是搭配MCU,KT148A受到MCU的控制,來(lái)播放語(yǔ)音 2、按鍵版本:
    發(fā)表于 11-21 11:44 ?515次閱讀
    語(yǔ)音芯片<b class='flag-5'>KT148A</b>的<b class='flag-5'>一線(xiàn)</b><b class='flag-5'>串口</b>和<b class='flag-5'>KT148A</b>的<b class='flag-5'>串口</b>版本<b class='flag-5'>以及</b>按鍵版本有什么區(qū)別_V1

    KT148A語(yǔ)音芯片按鍵版本一對(duì)一觸發(fā)播放功能描述V4

    KT148A語(yǔ)音芯片--按鍵版本,支持3個(gè)IO口一對(duì)一觸發(fā) 。同時(shí)也支持用戶(hù)自己更換芯片內(nèi)部的聲音文件,方法,參考我們另外份文檔的描述“20220704_KT148A芯片自己更換聲音
    的頭像 發(fā)表于 11-21 15:42 ?977次閱讀
    <b class='flag-5'>KT148A</b>語(yǔ)音芯片按鍵版本<b class='flag-5'>一對(duì)一</b>觸發(fā)播放功能描述V4

    KT148A語(yǔ)音芯片420s秒的語(yǔ)音空間是什么意思

    我想問(wèn)KT148A這個(gè)芯片真的能存420秒的語(yǔ)音么?我隨便個(gè)5秒的語(yǔ)音mp3格式都65k了,如果是這樣的話(huà) 那我的mp3的源文件在最小的采樣率和最小碼率的情況下 mp3文件可以支持多大?有沒(méi)有實(shí)際測(cè)試的數(shù)據(jù),使用的是
    的頭像 發(fā)表于 01-12 17:20 ?720次閱讀
    <b class='flag-5'>KT148A</b>語(yǔ)音芯片420s秒的語(yǔ)音空間是什么意思

    KT148A語(yǔ)音芯片的下載板子導(dǎo)入F1A聲音下載操作多次失敗解決辦法

    為什么我使用KT148A語(yǔ)音芯片的下載板子,導(dǎo)入聲音下載,操作好多次,只成功了次,后面始終都沒(méi)有聲音 芯片分為兩個(gè)版本,分別是按鍵版本和一線(xiàn)串口版本???/div>
    的頭像 發(fā)表于 11-06 11:19 ?575次閱讀
    <b class='flag-5'>KT148A</b>語(yǔ)音芯片的下載板子導(dǎo)入F1<b class='flag-5'>A</b>聲音下載操作多次失敗解決辦法

    KT148A語(yǔ)音芯片的下載用的是串口,測(cè)試可以直接串口發(fā)指令控制嗎?

      KT148A語(yǔ)音芯片的下載用的是串口,那我實(shí)際測(cè)試是不是可以直接串口發(fā)指令測(cè)試控制?就不用單獨(dú)寫(xiě)程序去模擬一線(xiàn)串口的時(shí)序了
    的頭像 發(fā)表于 11-14 14:21 ?737次閱讀
    <b class='flag-5'>KT148A</b>語(yǔ)音芯片的下載用的是<b class='flag-5'>串口</b>,測(cè)試可以直接<b class='flag-5'>串口</b>發(fā)指令控制嗎?

    KT148A語(yǔ)音芯片使用串口uart本控制的完整說(shuō)明_包含硬件和指令舉例

    KT148A肯定是支持串口的,有客戶(hù)反饋使用一線(xiàn)還是不方便,比如些大型的系統(tǒng)不適合有延時(shí)的操作,所以更加傾向于使用uart控制,這里我們也給出解決方案 延伸出來(lái)另外
    的頭像 發(fā)表于 11-17 09:05 ?732次閱讀
    <b class='flag-5'>KT148A</b>語(yǔ)音芯片使用<b class='flag-5'>串口</b>uart本控制的完整說(shuō)明_包含硬件和指令舉例

    KT148A-SOP8語(yǔ)音芯片接收到一線(xiàn)串口指令到播放聲音大概多長(zhǎng)時(shí)間

    請(qǐng)問(wèn)KT148A-SOP8語(yǔ)音芯片接收到一線(xiàn)串口指令,到播放出來(lái)聲音,大概需要多長(zhǎng)時(shí)間 我的需求是做按鍵提示音,初測(cè)了下感覺(jué)有延時(shí),這個(gè)要如何處理
    的頭像 發(fā)表于 06-21 11:55 ?545次閱讀
    <b class='flag-5'>KT148A</b>-SOP8語(yǔ)音芯片接收到<b class='flag-5'>一線(xiàn)</b><b class='flag-5'>串口</b>指令到播放聲音大概多長(zhǎng)時(shí)間

    KT148A語(yǔ)音芯片的7腳VDDIO平時(shí)是2.8V,響語(yǔ)音時(shí)變成3.3V是為什么呢

    KT148A語(yǔ)音芯片的7腳=VDDIO,是KT148A芯片內(nèi)部的LDO輸出引腳,是芯片的電源輸出 而8腳,才是電源的輸入端 。但是這里面還有使用細(xì)節(jié),詳見(jiàn)“問(wèn)題集錦2”
    的頭像 發(fā)表于 01-04 11:11 ?132次閱讀
    <b class='flag-5'>KT148A</b>語(yǔ)音芯片的7腳VDDIO平時(shí)是2.8V,響語(yǔ)音時(shí)變成3.3V是為什么呢

    KT148A語(yǔ)音芯片的聲音小,如何讓喇叭聲音變大?聲音影響注意點(diǎn)

    聲音的大小是個(gè)系統(tǒng)的工作,KT148A本身驅(qū)動(dòng)聲音的能力是很大的,達(dá)到200mA,通過(guò)電流也可以看出來(lái)。所以般8歐姆1w以?xún)?nèi)的,不需要考慮外掛功放 喇叭的選擇原則上越大越好,視結(jié)構(gòu)而定。 盡量選擇紙盆類(lèi)型的喇叭【某寶搜搜
    的頭像 發(fā)表于 01-10 09:53 ?75次閱讀
    <b class='flag-5'>KT148A</b>語(yǔ)音芯片的聲音小,如何讓喇叭聲音變大?聲音影響<b class='flag-5'>注意</b><b class='flag-5'>點(diǎn)</b>