今天遇到一個(gè)非常奇怪的問題,CH549的新板子使用測(cè)試過的代碼怎么也連接不上外設(shè)了。經(jīng)檢查,外設(shè)不會(huì)向CH549回報(bào)ACK。但是相同的外設(shè)在電腦或者max3421e的板子上都是可以的回報(bào)ACK的。外設(shè)是一臺(tái)噪聲計(jì),拆開檢查是atmega168主控,應(yīng)該是軟件模擬USB。
之后我發(fā)現(xiàn)是USB信號(hào)的速率有誤差,第一片CH549時(shí)鐘速率為標(biāo)準(zhǔn)值的98.6%,外設(shè)完全不會(huì)返回ACK。第二片CH549時(shí)鐘速率為標(biāo)準(zhǔn)值的99.4%,外設(shè)在第六次左右請(qǐng)求會(huì)返回ACK。第三片CH549時(shí)鐘速率為標(biāo)準(zhǔn)值的99.7%,外設(shè)在第一次左右請(qǐng)求就會(huì)返回ACK。
現(xiàn)在問題是板子使用的的封裝是SOP16,無(wú)法外接晶振。請(qǐng)問在不更換芯片封裝的情況下,是否可以通過再次校正的方式,提升時(shí)鐘精度。雖然手冊(cè)上好像沒寫,但還是希望有辦法調(diào)整校準(zhǔn)字之類的方法。
?