2017年2月7日 星期二

CC2540 / CC2541 BLE RTC TEST

CC2540 / CC2541 RTC TEST

1. Reset RTC to default (Default RTC  Time : 2000 Jan 01 00:00:00)

2.  Set the current time





























3. RTC check















4.Leap year




5. Long-term test accuracy ...



 

2017年1月18日 星期三

CC2530 Zigbee network device lost auto maintain associated

1.Network initial state





















2.Move 0xC6C4 out of zigbee network range
   00 : 45  >> 0xC6C4 out of range
   01 : 15  >> 0x2C5C get new short address and parent node


3.Check Coordinator child node and associated
4.Check 0x19B1 parent node,child node,associated
5.Move 0xC6C4 (0x00124B0002017DD6) into zigbee network range
   00 : 25  >> 0x00124B0002017DD6 join the zigbee


6.Check 0x00124B0002017DD6 short address,parent node,associated
7.Check 0x19B1 parent node,child node,associated





2017年1月15日 星期日

CC2530 When the device lost and the net association full how to join the new device to the zigbee net?

1. Define Zigbee Network Architecture













2.Coordinactor info check
3.Sensor Monitor

























4.Router 1~4 info check




















































































































5.The R3 power down to simulation the device lost and add the R5 to join the network


























6.Packet Sniffer to check the R5





















7.How does the R5 join to the network?


























8.To delete the 0x6B3E association list


























9.Check The R5 info





























10.Check The 0x6B3E Association List




2017年1月12日 星期四

CAN bus (Controller Area Network) - Signal Measure

● CAN Signal Measure

































● 8 Byte Data TX





CAN bus (Controller Area Network) - Bit Encoding

● CAN bus Non-Return-to-Zero-Coding










● CAN bus Bit-Stuffing Rule













● CAN bus Bit-Timing











● CAN bus Sub-Bit Segments






每一個 Bit Timing Segment 是由整數個單位時間所組成, 稱為 Time Quanta (TQ)
TQ 設定為 2*(BRP + 1 )*(Tosc) -> (Tosc = 1/Fosc)
更改Baud Rate的預除器(BRP) 將變更TQ 的時間 (Min = 1:1, Max = 1:64)



















● CAN bus Practical Bus Length












● CAN bus Resynchronization (1)














● CAN bus Resynchronization (2)















CAN bus (Controller Area Network) - Error Handling(2)

● CAN bus Error Handling - Error States of CAN Node














每一個 CAN node 都有各自獨立的 傳送以及接收錯誤計數器 :
         TEC ( Transmit Error Counter )
         REC ( Receive  Error Counter )
CAN 協定根據Error Counter 的內容將錯誤狀態分為三種 :
         Error Active、Error Passive、Bus-Off
根據 Node 的狀態不同, 控制 CAN Bus 的能力也跟著調整 ( Active > Passive > Bus-Off )
如果到達了 Bus-Off 的狀態條件 (TEC>255), CAN node將自身設定為完全離線狀態
進入Bus-Off狀態的Node ; CAN 定義了Recovery的程序以便使其重回到Active狀態











● Error-Active :
CAN node可以主動地傳送或接收訊息(messages)和Error-Frames(一般正常的工作模式)
偵測到錯誤時,CAN Node 將送出正常 Error Frame( 6 個 Dominate 位元的 Active Error Flag)
的方式將正傳送中的 message 中斷掉
這樣的做法違反了Bit-Stuffing的原則,所以其他的CAN Node也將產生它們自己的Error Frames(稱為錯誤回應旗標 -> Error Echo Flags)。
每當偵測到有錯誤發生, 適當的錯誤計數器,一旦Error Frame 完成後,bus 的活動又回到正常狀態,Message 將會被重新傳送

● Error-Passive :
當TEC或REC計數器超過了127,CAN Node變進入Error-Passive的狀態
Passive Error Flags的Error Frames將不會影響傳送中的 Message
當Error Frame完成後,處於Error-Passive的Node會等到以下條件符合才會被致能傳送
在Dominate位元之後有3個Recessive位元(Intermission)加上8個Recessive位元的時間長(Suspend Transmission)

● CAN bus Error Handling - Passive Error Frame









● CAN bus Error Handling - Suspend Passive Transmission








● Bus-Off :
當TEC計數器值超過 255,控制器將進入Bus-Off狀態
CAN Node將無法傳送或接收任何的Message或錯誤狀態
經過以下的程序,CAN Node可再度回到Error Active的狀態
接收到正確的Bus Recovery程序(11個連續的Recessive位元發生128次)
經由硬體或軟體的重置動作。
將控制器設定成Configuration Mode

● CAN bus Error Handling - Transmit Error Counter














● CAN bus Error Handling - Receive Error Counter














● 錯誤偵測的的重點整理
CAN Nodes可依錯誤的嚴重程度來自動地減少它們對Bus的控制能力
不同Error-States間的差異在於錯誤的Node該如何被限制行為
CAN對錯誤時的能力限制(Fault Confinement)可防止有缺陷的Node使得整個網路當掉
● CAN bus Overload Frame
當一個Node需要較多的時間來處理所接收的資料時,便送出Overload Frame
當間隔位元少於規定值時(最少要 3 個 recessive bits)也會發生
間隔位元(Intermission)使CAN Node有時間做內部資料處理









● Interframe Space
幀間空間包括Intermission、Bus idel
如果是"Error-Passive"的Node要發送報文時,Interframe Space除了Intermission、Bus idel,
還包括Suspend Transmission
不是“錯誤被動”的Node,Interframe Space如下 :









是“錯誤被動”的Node,Interframe Space如下 :










CAN bus (Controller Area Network) - Error Handling(1)

● CAN bus Error Handling - Globalization of Local Errors























● CAN bus Error Handling - Active Error Frame
Active error flag  :  6 個連續的“顯性”位元組成
Passive error flag :  6 個連續的“隱性”位元組成
















● CAN bus Error Handling - Bit-Stuffing Error
CAN 的協定明確的定義不可以有超過 5 個狀態相同的 bit連續發生,若有則須要於 5 個相同的 bit 後補一個反相的 bit,在接收的過濾器中這個額外的Bit會被排除如果有 6 相同的 bit 在 SOF 以及 CRC Delimiter 間連續發生, 則被視為違反了位元填充 ( bit Stuffing ) 的原則,將產生Error Frame 來回應偵測到的錯誤,原先的 message 將在 Error Frame 結束後重送


















● CAN bus Error Handling - Bit Error
送出隱性訊號被顯性訊號覆蓋,標示符與應答段例外
當傳送端發現它送出的信號與實際出現在CAN Bus 上的不同, 則判斷有Bit Error 發生








● CAN bus Error Handling - CRC Error
15-bit 的CRC 會自動的被加入被傳送中的Message 之CRC 欄位中所有node 皆接收Message, 並計算CRC 後與接收到的CRC 資料相比對若兩者CRC 不相等則視為發生CRC 錯誤並且產生一個Error Frame原先的 message 將在 Error Frame 結束後重送


















● CAN bus Error Handling - Acknowledgement Error
傳送中的 Node 在Ack Slot 時檢查Ack位元,此時它送出一個Recessive位元並檢查是否有收到Dominant位元,如果偵測到dominant 位元發生,表示至少有一個node 已正確地收到Message
否則,將視為有Ack 錯誤發生,將產生一個“示誤封包(Error Message)”並重新傳送此次的資料







● CAN bus Error Handling - Form Error
任一個Node 在CRC Delimiter,AckDelimiter,End of Frame (EOF) field 的間隔偵測到有dominate 位元則產生一個Error Frame 來指明發生了Form Error, 原先的message 將在Error Frame 結束後重送