Re: 關於LIN BUS的問題?
|
||||
---|---|---|---|---|
資深會員
|
請問各位版大,PIC應用在LIN BUS上,真的如 Eigen 版友所說的嗎?那我要考慮是否要使用MOTOROLA晶片了~
發表於: 2004/7/27 2:07
|
|||
|
Re: 關於LIN BUS的問題?
|
||||
---|---|---|---|---|
資深會員
|
請問各位版大,PIC應用在LIN BUS上,真的如 Eigen 版友所說的嗎?那我要考慮是否要使用MOTOROLA晶片了~
發表於: 2004/7/24 13:16
|
|||
|
Re: 關於LIN BUS的問題?
|
||||
---|---|---|---|---|
資深會員
|
pic 不適合用在複雜的lin bus上
個人經驗,用在簡單的通信上還行得通 用在通信頻煩,雙向溝通,許多中斷源的系統上非常的難以控制 因為pic不能直接解lin bus;EUART 也是最近才有的東西 而且單價高 種類少 真的要『好做』,motorolla的 系列會是較好的選擇 支援的硬體解碼 ※真的要用pic master 端有uart就可以(不一定要 euart) slave 端要用euart,千萬不要想不開用軟體解, 用普通的uart是不能解slave端的 lin header 用軟體解lin,系統只要有『額外的中斷源』會『經常』觸發中斷,解碼100%會出包。 ※ 16c43x非常難用, pstar不能燒 ※lin 的協定目前定到2.0 版本越高,越難實做(1.0 1.1 1.2 1.3 2.0) http://www.lin-subbus.org 找1.1來看會比2.0簡單的多~
發表於: 2004/7/24 1:52
|
|||
|
Re: 關於LIN BUS的問題?
|
||||
---|---|---|---|---|
版主
|
當然可以,LIN Bus的設計就是使用一個MASTER對多個SLAVE, SLAVE靠不同的ID來做辨識的。
發表於: 2004/7/20 4:33
|
|||
|
Re: 關於LIN BUS的問題?
|
||||
---|---|---|---|---|
資深會員
|
是的,何先生,因為前幾天有聯絡台北MICROCHIP,但你們似乎全都出國了,所以只能在這裡將問題發表出來,那現在我想用標準的UART做出LIN BUS,有一個MASTER及多個SLAVE,是否可行.
以上 謝謝
發表於: 2004/7/18 21:47
|
|||
|
Re: 關於LIN BUS的問題?
|
||||
---|---|---|---|---|
管理員
|
Mr. Wu,
我想您是問我 PIC18F4431 為何無法使用 Microchip Application Note 所提供的 Example code 的那位先生嗎 ! 我想您必須修改一下 P18F4431.h 中對 TXSTAbits 的宣告 ! 在 bit3 將 unsigned :1 改為 unsigned SENDB : 1 就應該會正確的 Compile 了 !! 有關 LIN 的相關問題 , 基本上 LIN 只能由 MASTER 發出 Break , Sync , ID 然後被指到的 Slave 馬上接著 ID 之後回應. Slave 唯一能主動發起的只有用來 Wake-up 的 Break. 接下來的幾天若比較有空將把我 Study 的心得與大家分享!!
發表於: 2004/7/18 4:54
|
|||
|
Re: 關於LIN BUS的問題?
|
||||
---|---|---|---|---|
資深會員
|
我再請問以下幾點:
1.我有看MICROCHIP的應用筆記,大部份都是使用UART,但在SYNC BREAK場時,都會調慢鮑率,確定真的是SYNC BREAK時,才又調回來,我是否可利用這一點,自己做一個LIN BUS,有多個SLAVE及一個MASTER? 2.在LIN的SPC中,沒有很清楚說明MASTER與SLAVE的關係,或許我看不懂,在這裡請教一下版大,如果MASTER要求SLAVE傳送資料給MASTER,資料將會如何丟;反之,SLAVE可否要求MASTER給予資料呢?那LIN BUS上的資料流動,是否都是由MASTER來主控?(我有看到COMMAND FIELD有二個命令標幟,一個使用者自訂,最後一個是保留標幟,但都是在ID FIELD,是不是HEAD MESSAGE要發送二次,SLAVE才知道是那一個SLAVE及資料的流向呢?) 3.SLEEP訊息是由SLAVE要求或MASTER要求呢?還有WAKE UP訊息呢? 4.另外你們有提到USART的第9個位元,但是用在LIN BUS上面,這是什麼作用呢? 5.若要使用DSPIC來做,作法一樣嗎?有沒有需要注意的地方呢? 以上 謝謝
發表於: 2004/7/17 12:36
|
|||
|
Re: 關於LIN BUS的問題?
|
||||
---|---|---|---|---|
資深會員
|
謝謝Ryang大大精彩的回答
發表於: 2004/7/7 20:32
|
|||
|
Re: 關於LIN BUS的問題?
|
||||
---|---|---|---|---|
版主
|
LIN Bus 一般都使用低價位的RC振盪器,Master與Slave之間可能有15%的頻率誤差,所以Slave端就需要有 Auto Baud-Rate 的功能
首先我們先看看 LIN Bus 的 Protocal (參考AN729說明 http://ww1.microchip.com/downloads/en/AppNotes/00729a.pdf ) 13-bit Sync Break(Low) + 0x55 (Sync Field) + ID (2-bit Party + 6-bit ID) + DATA (1~8 bytes) + Checksum Sync Break 是用來通知所有的Slave, Master 即將送出資料 Sunc Field 是 0x55,也就是會有1,0,1,0,1,0,1,0 的clock送出,Slave用此訊號計算傳輸速率。 ID以後的格式請看AN729的說明。 -- 在Microchip的元件中只有EUSART有Sync Break及Auto Baud Rate Detected的功能,就可以直接使用於LIN protocol(此範例可參考AN864) -- 如果使用一般USART(例16F877)也可以用Timer做為Baud Rate的計算配合USART也可以使用於LIN protocol(此範例可參考AN237) -- 如果你是使用最便宜的MCU(16C433,16C57...)這些元件都不含UART的介面,這時候你就用I/O及軟體方式計算Baud Rate及用Software UART的功能模擬接收與傳送功能,還好LIB Bus的最高速度不超過20Kbps,用PIC來做也很簡單(此範例可參考AN240) 相關的Application Note 請參考 http://www.microchip.com/stellent/idc ... &nodeId=1490&filterID=400 不過我看了樓上的各位大大,那麼晚了怎麼還不睡啊!
發表於: 2004/7/7 10:58
|
|||
|