如何更好地設(shè)計(jì)面向在板燒錄的產(chǎn)品
通過(guò)AK100Pro連接芯片的單線異步串行接口實(shí)現(xiàn)在板燒錄,只需要一根信號(hào)線,照樣也可以達(dá)到高速通訊的效果,絲毫不遜于標(biāo)準(zhǔn)的異步串行接口,最主要的,采用單線串口還能減少繁瑣接線的煩惱。
在設(shè)計(jì)當(dāng)中,總會(huì)遇到特殊的編程口線現(xiàn)在的芯片集成度越來(lái)越高,體積越來(lái)越小,甚至連集成的板子,也默默地把硬幣給比下去了:
圖一核心板與硬幣對(duì)比圖
可是,要在如此少的管腳上集成更多功能,只有裁剪通信口線。在這時(shí)候,單線的串行接口就有了用武之地。
新的需求來(lái)了,現(xiàn)有調(diào)試下載的工具,是否支持新的通訊接口呢?下面就以最近的一個(gè)案例做一個(gè)剖析:外商客戶需要添加一廠商芯片的燒錄支持,通過(guò)了解該芯片的編程資料,發(fā)現(xiàn)用于燒錄的通訊引腳只有一根,但采用的是標(biāo)準(zhǔn)異步串行接口的協(xié)議。
單線串口的接口原理所謂單線串口(全稱為“單線異步串行通訊接口”,本文中簡(jiǎn)稱為“單線串口”),采用的是跟標(biāo)準(zhǔn)串口(全稱為“標(biāo)準(zhǔn)異步串行通訊接口”,本文中簡(jiǎn)稱為“標(biāo)準(zhǔn)串口”)一樣的通訊協(xié)議。唯一的區(qū)別,不同于標(biāo)準(zhǔn)串口的兩根數(shù)據(jù)線(Txd和Rxd),單線串口只有一根數(shù)據(jù)線來(lái)同時(shí)兼?zhèn)浒l(fā)送和接收功能。因此,單線串口采用半雙工的通訊方式,具體的單線串口接線圖可參考圖二所示。
圖二單線串口芯片接線圖
只需要接入四根線(MOD,/RESET,VCC,GND)就可以完美進(jìn)行燒錄了。外商設(shè)計(jì)的這個(gè)通訊口(MOD/IO)還可以被用來(lái)做工作模式選擇,即在上電復(fù)位的同時(shí),檢測(cè)MOD管腳的輸入時(shí)序波形,從而進(jìn)入到不同的工作模式,如單線串口編程模式等。進(jìn)入單線串口編程模式后,MOD管腳的功能轉(zhuǎn)換為數(shù)據(jù)通訊。掌握這個(gè)規(guī)則,AK100Pro接好這四根線后,在KFlashPro上點(diǎn)擊“燒寫”,就可以輕松實(shí)現(xiàn)燒錄了。
剖析單線串口的編程效果擔(dān)心燒錄的速度?我們用數(shù)據(jù)來(lái)說(shuō)明,是快還是慢。該芯片支持最高的通訊速率為500000bps,我們就采用這個(gè)波特率進(jìn)行通訊。圖三是邏輯分析儀(LA2532)抓取燒錄通信時(shí)的時(shí)序數(shù)據(jù):
圖三 邏輯分析儀(LA2532)捕捉到的數(shù)據(jù)
先說(shuō)說(shuō)數(shù)據(jù)代表的意思,該段波形截取于“燒寫+校驗(yàn)”的過(guò)程。對(duì)于兩串比較長(zhǎng)的數(shù)據(jù),較短的是燒錄的數(shù)據(jù),發(fā)送完這段數(shù)據(jù)后,接著發(fā)送查詢狀態(tài)指令等待芯片燒錄完畢并響應(yīng),然后下發(fā)讀取指令,較長(zhǎng)的是讀取上來(lái)進(jìn)行校驗(yàn)的數(shù)據(jù)。
從圖中看到,從讀取數(shù)據(jù)到下一包下發(fā)的燒錄數(shù)據(jù)間隔只有3.5ms,扣除預(yù)留官方2ms響應(yīng)時(shí)間,AK100Pro對(duì)數(shù)據(jù)包解析、校驗(yàn)和功能轉(zhuǎn)換等操作,花費(fèi)時(shí)間2ms不到。