S12系列MCU通用編程系統(tǒng)的改進(jìn)設(shè)計(jì)
3.2 目標(biāo)芯片總線頻率的測定
不同型號(hào)的MCU總線頻率不一樣,因此編程系統(tǒng)的通用性還在于能使編程調(diào)試器自動(dòng)獲取目標(biāo)MCU的通信頻率,使之適應(yīng)不同型號(hào)的MCU。
在HCS12中有一條比較特殊的BDM指令SYNC,它用于探測目標(biāo)MCU的BDM接口的通信頻率。該指令沒有具體的操作碼,因此不要求知道具體的目標(biāo)芯片BDM通信頻率。表2給出了使用SYNC指令探測目標(biāo)芯片BDM通信頻率的過程。
編程調(diào)試器是通過拉低至少128個(gè)目標(biāo)芯片時(shí)鐘周期來請(qǐng)求SYNC指令的,為了能夠測量所有的S12系列芯片BDM通信頻率,需要設(shè)置一個(gè)缺省計(jì)時(shí)參數(shù)。當(dāng)目標(biāo)芯片總線頻率低于1 MHz的時(shí)候,F(xiàn)lash的擦除寫入操作不能正常運(yùn)行,因此可以設(shè)置目標(biāo)芯片的最低BDM接口頻率為1 MHz。128個(gè)周期時(shí)長為128÷1 MHz=128μs。在這個(gè)延時(shí)時(shí)間內(nèi),可以向S12系列芯片成功請(qǐng)求SYNC指令。下面給出了測試目標(biāo)芯片通信頻率的代碼。
陰影部分是JM60在目標(biāo)芯片發(fā)送128個(gè)周期低電平的時(shí)間所做的操作,花費(fèi)的指令周期為count=5+1+6×A(寄存器A的計(jì)數(shù)次數(shù)),目標(biāo)芯片的通信頻率就可以通過公式fBDM=128×fbus÷count計(jì)算得到。編程調(diào)試器只需要根據(jù)計(jì)算得到的目標(biāo)芯片的通信頻率,調(diào)用在編程調(diào)試器方編寫的針對(duì)不同通信頻率段的收發(fā)子程序,就可以實(shí)現(xiàn)和不同型號(hào)目標(biāo)芯片的正確通信。
結(jié) 語
編程系統(tǒng)的通信速率和通用性是衡量編程調(diào)試器性能的重要指標(biāo)。在實(shí)際應(yīng)用中,用戶需要不斷地修改、調(diào)試程序,程序的下載操作會(huì)頻繁發(fā)生,因此減少數(shù)據(jù)的通信時(shí)間,提高用戶目標(biāo)代碼的寫入速度顯得尤為重要。本文針對(duì)S12新型編程系統(tǒng)的設(shè)計(jì)思想已經(jīng)應(yīng)用于SD-Pro-grammer For S12 V2中,通信速度提高了5倍多,能適應(yīng)當(dāng)前S12系列所有的MCU,對(duì)于新款MCU可以實(shí)現(xiàn)快速支持。文中給出的編程系統(tǒng)中提高通信速度的設(shè)計(jì)方法對(duì)類似于嵌入式系統(tǒng)的應(yīng)用開發(fā)也有著很好的借鑒作用。
評(píng)論