關鍵字: 類 別:
 
RollingCode用法
時間: 2010-6-24
 
Rolling Code的使用和燒錄
Rolling Code的用途
在一些電子産品中,往往需要區別不同的IC。比如在紅外線或RF paired-code的産品中,爲保證一對一的情況,常使用類似於ID碼的身份驗證碼來區別産品,這樣就避免了一個發射可能會有多個接收的情況。
AM8E_Writer提供的Rolling Code功能可以依照使用者所做的設定,在燒錄時直接對OTP Program Rom寫入一串有意義的數據,以區別不同的IC。
舉例說明
使用AM8EB156X,用8個共陽7段顯示器顯示Program Rom中的Rolling Code。此程式中Rolling Code爲4位的Rolling Code,初值爲0x0200和0x0145。
硬體電路圖如圖1所示:
圖1
硬體電路說明
PA port透過三極管控制顯示器的com端口,PB0-6分別連接顯示器的a、b、c、d、e、f、g端口。這裡需要說明的是,PA5 port做普通的I/O port,需要加上拉電阻,此處採用10K。
軟體說明
採用系統頻率(IRC 4MHZ),定時時間爲2ms,上電顯示Rolling Code值。目錄中有3個程式:”asm_movia”目錄下爲指令MOVIA的rolling code 賦值方式,”asm_retia”目錄下爲指令RETIA的rolling code 賦值方式,”asm_table”目錄下爲指令TABLEA的rolling code 賦值方式。
程式清單詳見rolling code的顯示測試程式”asm_movia\TstRollcode.asm”和 ”asm_retia\TstRollcode.asm”和 ”asm_table\TstRollcode.asm”。
Rolling Code的燒錄
Rolling Code分爲兩種模式:一種是PC連線操作(PC-Link)模式,另一種是單機操作(Stand-Alone)模式。下面爲Rolling Code設定的介紹:
(1)   Instruction Type: 應用指令分爲兩個類別“MOVIA/RETIA””TABLEA”
(a)     MOVIA/RETIA: 修改位於Program ROM中”MOVIA/RETIA”這兩個指令所帶的常數值。
(b)    TABLEA: 修改位於Program ROM 中使用者在程式中所規劃的常數表。
(2)   Rolling Code Size: 依照指令類別的不同分成2個可設定的範圍。
(a)     MOVIA/RETIA: 0x00~0xFFFFFFFF
(b)    TABLEA: 0x00~0x0FFFFFFF
(3)   Insert Value: 表示要寫入Rolling Code的相關訊息。
(a)     Start ValueEnd Value: 表示Rolling Code可變化的範圍。
(b)    Current Value: 下次要寫入的Rolling Code值。
(c)     Step Value: 每次Current Value增加的值。
(d)    Current List: 可設定一個以上的Current Value,且Step Value將會自動設定爲 0。(只限用於PC連線操作模式)
(4)   Set Current List: 表示寫入Current List的相關設定,需要勾選上部的Current List選項才會開啓此功能。  (只限用於PC連線操作模式)
CountCurrent Value的總數,ValueIndexCurrent List介面上被選取的Current Value值以及其相對應的位置。請注意Index從第0位置啟動。
可依照下面的選項進行操作:
(a)     Open File: 請先行在檔案[.txt]輸入在應用指令設定範圍內的16進位值,並開啓此檔案,將顯示在開啓檔案的左側介面。
注意: 開啓檔案時,若是設定值超過應用指令設定範圍,將自動調整此值。
(b)    Add:Current List介面上,點選要新增數值的位置,並在Insert Value欄輸入欲新增的值,點選此功能將此值於此位置新增。(若是沒有選擇位置,將預設在Current List最上方新增輸入值。)
(c)     Delete: Current List介面上,點選要刪除的值,點選此功能將此值刪除。
(d)    Modify: Current List介面上,點選要修改的值,並在Insert Value欄輸入欲修改的值,點選此功能將此值修改。
(e)     Begin Index: 在此輸入Current List中的位置,將由此位置的值啟動燒錄,並在Current Value顯示出下一次要寫入Rolling Code的值以及此值位置。請注意Index從第0位置啟動。
例子:
Current List 設定Current Value 10,12,15,23,56。此時Begin Index=3,則Current Value從23啟動,下一個值會從56啟動之後就從頭(10)啟動。
(5)   To Address: 設定Rolling Code插入的指令位置,設定的Address個數是根據”Rolling Code Size”所選的來控制,Address 0 ~ Address 3分別表示指令的位址,而Bin Content 0 ~ Bin Content 3分別表示Address所指的內容。當Rolling Code在寫入時,會把Current Value覆寫到Address所指定的Bin Content中。
 
例子:
當在Address 0輸入”0300”時,將會顯示目前Bin Buffer中位址爲”0300”的內容,而Instruction Type所選的選項會限制可插的指令,”MOVIA” 可插的Bin Content爲 ”0x2EFF”, “RETIA”可插的Bin Content爲”0x2FFF”,"TABLEA"可插的Bin Content爲”0x3FFF”。當Bin Content所出現的值不是上述的值時,將無法把Current Value插入指定的Bin Content
(6)   OK: 點選”OK”按鈕,系統會先確認所做的設定與檔案[.bin]的內容是否一致。若一致,則可以接著進行PC連線操作(PC-Link)模式的Rolling Code燒錄或執行”下載資料至燒錄器(Download to Writer)”功能以便進行單機操作(Stand-Alone)模式的Rolling Code燒錄;若不一致,則系統會出現錯誤訊息提示。
例子1: 選擇TABLEA的方式,Start Value =0,End Value =0xFFFFFFF,Current Value=0x1450200,Step Value=2,如圖2所示:
圖2
 
 
 
 
 
此時Current Value從0x1450200,0x1450202……加到0xFFFFFFF,下一個值將會從0(Start Value)重新啟動。 點選”OK”按鈕,更新後如圖3所示:
圖3
由於Bin Content 的有效位數爲14位,0x0200的bit14、bit15 左移2位到0x0145中,經過移位後變成0x0514 和0x0200。
 
 
 
 
 
 
 
 
 
 
例子2: 選擇RETIA的方式,Start Value =0,End Value =0xFFFFFFF,Current Value=0x1450200,Step Value=2,如圖4所示:
圖4
此時Current Value從0x1450200,0x1450202……加到0xFFFFFFF,下一個值將會從0(Start Value)重新啟動。點選”OK”按鈕,更新後如圖5所示:
圖5
例子3: 選擇MOVIA的方式,Start Value =0,End Value =0xFFFFFFF,Current Value=0x1450200,Step Value=2,如圖6所示:
圖6
此時Current Value從0x1450200,0x1450202……加到0xFFFFFFF,下一個值將會從0(Start Value)重新啟動。點選”OK”按鈕後,更新後如圖7所示:
圖7
以下爲PC連線操作(PC-Link)模式下燒錄Rolling Code的詳細操作步驟:
(1)     開啓要燒錄Rolling Code的檔案[.bin]。
(2)     選擇工具列的 [OperationRolling Code SettingPC Mode] 或點選"Auto"選項,並用"Rolling"選項旁的按鈕進行設定。
(3)     點選Instruction Type
(4)     選擇”Rolling Code Size”。
(5)     設定Insert Value中的Start ValueEnd ValueStep ValueCurrent Value,或是Current List
(6)     設定To Address中的對應Address值。
(7)     點選”OK”按鈕做Rolling Code的設定檢查,然後接著執行第(8)項。
(8)     在PC連線操作(PC-Link)模式下。
(a)    選擇工具列的 [OperationRolling Code SettingPC Mode],設定結束請點選"Close"按鈕關  閉”Rolling Code Setting” 視窗。
(b)    若在"Auto"選項,可同時開啓Rolling Code Setting視窗。(請在"Rolling"選項旁按鈕進行設定,第一次設定後,”Rolling Code”選項將可勾選。)
(c)    點選”Auto”選項,並勾選”Rolling”選項(“Program”或”Verify”選項需先勾選)。
(d)    點選”Start”按鈕執行所勾選的動作。
圖8
 
 
以下爲單機操作(Stand-Alone)模式下燒錄Rolling Code的詳細操作步驟:
(1)     開啓要燒錄Rolling Code的檔案[.bin]
(2)     選擇工具列的[OperationRolling Code SettingAlone Mode] 或執行”下載數據至燒錄器(Download to Writer)”功能,並用”Rolling”選項旁的按鈕進行設定。
(3)     點選Instruction Type
(4)     選擇”Rolling Code Size”。
(5)     設定Insert Value中的Start ValueEnd ValueStep ValueCurrent Value
(6)     設定To Address中的對應Address值。
(7)     點選”OK”按鈕做Rolling Code的設定檢查,然後接著執行第(8)項。
(8)    在單機操作(Stand-Alone)模式下:
(a)    點選"Close"按鈕關閉”Rolling Code Setting” 視窗。
(b)    執行"下載數據至燒錄器(Download to Writer)"功能,並勾選Rolling Code選項。
(c)     從”Alone Mode Setting”視窗點選"Download"下載至Writer中。
圖9
來源: ice
返回頂部 列印文章 收藏此文章 投稿給我們 關閉窗口
 
>>
 相關文章
 
·EzCode4F的錄音模式詳解
·EzCode4F Midi Background的使用
·EzCode4F One Key One Note的應用
·可控矽的控制
·如何使用普通I/O口驅動LCD
·ALPHA IC在LED風扇上的應用
·ALPHA IC在串列通訊中的應用
·AM8EB實現 I2C 通訊
 
>>
 推薦文章
 
·EzCode4F Midi Background的使用
·可控矽的控制
·EzCode4E 隱患報告
·如何使用普通I/O口驅動LCD
·關於AMSR錄放音IC的錄音長度
·Alpha IC的邦定參考
·Action應用
·EzCode4F v2.00指令系統
 
 

關於我們 聯繫我們 免責聲明


ICP備案號:粵ICP備08035793號