|
HOLTEK 半導(dǎo)體問題解答集(1)
|
問:在49C50的掩膜選項中有PA0/1 option以及NMOS/CMOSofPA0 to 3的選項當(dāng)PA0/1選擇為BZ/BZB Output時NMOS/CMOS of PA0 to 3只有CMOS項沒有NMOS 項是否是仿真系統(tǒng)的軟件問題此時PA2/3 可否掩膜選為NMOS? 答:49 的PA0 至PA3 的NMOS/CMOS掩膜選項是**的不能位選擇不是因為仿真系統(tǒng)的軟件問題所以當(dāng)掩膜選擇PA0/1作為BZ 輸出時PA2 和PA3 只能是COMS的架構(gòu)?
問:49R50 芯片的PFD管腳是不是產(chǎn)生波形的分頻腳如果是是否能產(chǎn)生38kHz的頻率如何解決 答:PFD 是可編程頻率輸出的引腳通過對定時/計數(shù)器的計時時間的編程可以使其產(chǎn)生38kHz的頻率詳細(xì)資料可看ApplicationNotes 里面有49PFD 的應(yīng)用說明編號為HA0039s?
問:我們必須將大部分變量的地址(RAM)固定以進(jìn)行操作例如ADSEQU79H 不知道會給編譯造成什么樣的影響我們必須將大部分變量的地址(RAM)固定以進(jìn)行操作例如 ADS EQU 79H不知道會給編譯造成什么樣的影響 答:變量地址固定是可以的但是要注意的是,若在數(shù)據(jù)段用DB 定義了變量一般情況下發(fā)展系統(tǒng)會從RAM 的60H以HT49R50來說地址開始放相應(yīng)的變量所以會有可能造成如下情況 var1 equ [70h] data .section 'data' var_1 db ? 總共用DB 定義了超過15 個變量 var_16 db ? 上述例程中的變量定義會使var1 和var_16 指向同一地址即對var1 進(jìn)行修改的同時也對var_16修改了因為它們在RAM中是同一地址.
問:為什么在49 系列中有時HALT 指令需要下三次才有效 答:49 系列HALT的喚醒方式中有一種方式為中斷喚醒在中斷喚醒中實際上只要中斷申請位由0至1跳變無論該中斷是否被置能則會喚醒HALT 所以當(dāng)時鐘來源選擇為RTC/WDT 時實時時鐘和Time Base 此時會產(chǎn)生溢出置位TBF和RTF即使中斷未被置能它們的中斷申請位產(chǎn)生跳變喚醒了HALT 所以造成HALT 需要下三次才不會停下來 Clock_source WDT HALT 系統(tǒng)時鐘 ENABLE/DISABLE 1 條有效 RTC 內(nèi)部的WDT 1 ENABLE/DISABLE 2 Time Base 的分頻RTC 軟件分頻 2 條有效 1 ENABLE/DISABLE 2 Time Base 的分頻RTC 軟件分頻 3 條有效
問:整體程序rom 分配主程序0000---0400h 定義表0fb0---0ff0h 其他子程序0410---0fc0h 當(dāng)定義的表放在主程序中時即如下 main .section at 0000h 'code' org 20h start: call sub1 call sub2 org 0fb0h table: dc 1234h,4567h,7890h,.... end 其子程序如下: sub1code .section at 0410h 'code' sub1: ret ;----------------------------------- sub2code .section at 04b0h 'code' sub2: ret ;---------------------------------- 以下還有子程序都放在0410h---0fc0h 之間 編譯器對以上格式提示有"交迭"錯誤?如何解決? 具體如下 ERROR(L2001) TWO SECTION ARE OVERAPPED 'main'SECTION.... 'SUB1'SECTION... 如果將每個子程序中的"at ****h"改為缺省值,即不寫"at ****h",則編譯器對以上格式提示有"rom 不夠用"?如 何解決? 具體如下 ERROR(1038) MEMORY ALLOCATION FAILS FOR SECTION 'SUB1'IN THE FILE C \..... TOTAL 1 ERROR(S) TOTAL 0 WARING(S) 答:因為表格與主程序是屬于一個MAIN 程序段的所以系統(tǒng)編譯時不會將這個SECTION分開而在其他子程 序的SECTION 中指定了地址后系統(tǒng)會提示兩個SECTION 是交錯的若不定義指定地址的話則系統(tǒng)編譯時 會將程序放在主程序SECTION 之外的的區(qū)域內(nèi)但是因為主程序段從0000H~0FB0H 所以系統(tǒng)不會占用這之間 的ROM 因為這個區(qū)域已經(jīng)劃分給了MAIN 了所以系統(tǒng)會報出ROM 空間不夠的錯誤 所以若希望TABLE 在主程序TOTAL0.ASM 里可以這樣寫 file name: total0.asm describe --------------------------- include ht49c50.inc main .section at 0h code table .section at 0fb0h code dc dc 也就是說將表格再作為一個段就可以解決了 因為使用ORG 分配地址它是相對于SECTION 的偏移地址即若程序如下 main .section at 0100h code org 20h label 此時的label 的實際地址是0120H 而不是20H 所以會有出現(xiàn)這樣的一種情況設(shè)置SECTION起始地址為0H而在這個SECTION 中使用了ORG 指令指定地址假設(shè)為0F00H 而從0000H~0F00H 程序只占用了ROM20H 行ROM實際還剩余很多空間可系統(tǒng)編譯時不會使用這些未使用的空間因為這個空間屬于一個SECTION 的
問:燒錄器TOTP48R_F最多支持40管腳DIP 封裝芯片燒寫這種燒錄器可以燒寫80 腳PQFP 封裝的49R50 嗎如何燒寫 答:燒錄器問題要燒寫80 腳的PQFP 需要一轉(zhuǎn)接板轉(zhuǎn)接板有兩種一種是100 腳一種是80 腳的請根據(jù)的需要與銷售聯(lián)系
問:在49仿真器I/O接口卡上的OSC1 和OSC2 引腳接晶振是否可提供系統(tǒng)頻率 答:49 仿真器上I/O 接口卡上的OSC1和OSC2兩個引腳是沒有定義的所以即使在這兩個引腳上接晶振也無法提供系統(tǒng)所需的振蕩頻率RTC的晶振輸入OSC3與OSC4已經(jīng)在仿真器里接了32.768 kHz的晶振所以在仿真時不必再外接32768Hz的晶振了,系統(tǒng)的時鐘頻率可有兩種選擇一種是選擇仿真器內(nèi)部提供的時鐘一種是選擇外部時鐘這是在MaskOption中SysFreq的Internal 選項選擇 1 若選擇內(nèi)部時鐘Internal 則仿真時系統(tǒng)時鐘來源由仿真器提供不必再外接器件 若選擇外部時鐘的話時鐘來源就必須從I/O 卡上輸入這種情況又分為兩種一種選時鐘來源為石英振蕩 則I/O 接口卡的跳線插座JP1接1 2 腳然后在接口卡上X1 的兩個引腳接所需的晶振一種時鐘來源為RC 振 蕩則跳線JP1 接2 3 腳并通過調(diào)節(jié)可變電阻VR1 來調(diào)整RC 振蕩的輸出頻率I/O 卡上的晶振提供的是系 統(tǒng)頻率不是RTC 頻率
問:仿真軟件中沒有49R50的掩膜操作選項芯片資料是不是可以用49R50a 或49C50 來代替 答:仿真軟件中是沒有49R50的母體選項應(yīng)使用49C50 的母體其實49R50 是49C50的OTP版所以選擇49C50的母體可進(jìn)行仿真但不能選擇49R50A
問:49R50中PA0/BZPA1/BZB PA3/PFD PB0/INT0B PB1/INT1B PB2/TMR0PB3/TMR1這些為復(fù)用管腳而49系列仿真器的I/O 接口卡上有BZ BZB 等管腳那么在接口卡上應(yīng)引出哪些管腳才是正確的 答:使用49 仿真器時若使用到I/O 接口卡的復(fù)用管腳應(yīng)使用I/O 接口卡上的PA PB 以及PC 腳使用I/O 接口卡上的BZBZBPFD 等引腳是沒有用的
問:49 仿真器I/O接口卡上的BZBZB PFD INT0B INT1B TMR0 TMR1 引腳如何定義 答:49 仿真器I/O 接口卡上的TMR0 TMR1和INTB這些引腳是沒有任何定義的所以不要使用卡上的這些引腳來作為外部記數(shù)等的輸入口
問:49R50芯片的VLCD 的輸入?yún)⒖贾凳嵌嗌?br>答:關(guān)于VLCD 電壓值的選擇這不是由我們的芯片決定的是視您的LCD Panel 的要求而定的
問:49R50芯片只有6層堆棧在多次中斷調(diào)用后產(chǎn)生堆棧不夠用的解決方法 答:當(dāng)堆棧已滿而此時又發(fā)生的中斷請求則這個中斷的請求標(biāo)志會被記錄下來該中斷服務(wù)仍被禁止一旦堆棧指針SP 發(fā)生了遞減由于RET或RETI則會響應(yīng)此未被服務(wù)的中斷這個功能就可確保堆棧不會溢出使得編程者更加方便地使用該結(jié)構(gòu)同樣地如果堆棧已滿而隨后又執(zhí)行了CALL指令此時會發(fā)生堆棧溢出并且第一個返回地址將會丟失只有最近六個返回地址會被保存 基于以上原因我們并不提倡采用中斷嵌套的方式因為有可能有一些重要的中斷需要立即響應(yīng)
問:HT49R50 抗電磁干擾的性能如何是否有測試結(jié)果 答:HT49R50 的電磁干擾性能與PCB 板和所開發(fā)的應(yīng)用系統(tǒng)本身設(shè)計有很大的關(guān)系已有客戶利用HT49R50 完成 在高噪聲環(huán)境下使用的產(chǎn)品如使用在車上及電表等產(chǎn)品經(jīng)過測試其抗干擾性能均可以達(dá)到要求
問:HT49R50的LCD Panel 的驅(qū)動電壓為5V那么VLCD的取值為多少LCD 有兩種分壓方式R 方式和C 方式有何區(qū)別 答:VLCD 的取值是根據(jù)LCD Panel 的驅(qū)動電壓以及所選的分壓定的當(dāng)選擇R 方式分壓或者1/2 bias C方式分壓時VLCD等于LCD Panel 的驅(qū)動電壓當(dāng)為1/3 bias C 方式分壓時3/2 VLCD = LCDPanel的驅(qū)動電壓,由此可得驅(qū)動電壓為3V 時VLCD 選2V 驅(qū)動電壓為5V 時VLCD 選3.3V 對于LCD 的兩種分壓方式R方式較C方式的耗電量要大但選用R 方式不需要外接其他元件C 方式省電但需要外接2 3 個電容使生產(chǎn)的成本提高
|
|