發新話題
打印

C8051F 的 CrossBar 架構?

C8051F 的 CrossBar 架構?

by TroyLee
想請問 C8051F 的 CrossBar I/O 的架構,
是只說每一個週邊(UART,SPI...etc)可以任意的選擇I/O Port的Pin腳呢?
還是只是 I/O Port 的 Pin 腳可以當一般的 GPIO 或 Special Function 的 Pin?

因為看 Datasheet 裡頭的架構圖像是可以任意選擇,
但是用 Configuration Wizard 又不知道如何去選擇,
選了SPI 就固定在 P0.0 P0.1 P0.2 P0.3?
謝謝


by youngifvs
它不任意選擇週邊用哪一支Pin腳
CrossBar會依照週邊的優先權排序
SPI>SMBUS>CA等
例如:要用SPI(會分配P0.0 P0.1 P0.2 P0.3)而SMBUS(會分配P0.4 P0.5)
例如:只用SMBUS(會分配P0.0 P0.1)
例如: P0.0 P0.1 P0.2 P0.3要當一般I/O或ADC或EINT, 那要下 P0SKIP=0x0F;
       此時用SPI(會分配P0.4 P0.5 P0.6 P0.7)而SMBUS(會分配P1.0 P1.1)


by TroyLee
所以在畫電路圖的時候就要確定需要哪些 I/O,
(因為我常常畫到一半才東家西加的)
依照他的優先順序去排
如果要先保留就選 Skip 這樣嗎?


by youngifvs
所以要先想好用到的週邊有哪些
個人建議:
1. 一般 I/O及ADC輸入(指後期出的系列晶片)最好放後面P1 P2...
2. 決定要不要用外部中斷.EINT大部分系列只能在P0
3. 決定要不要用外部震盪器.因為有的系列只能在P0.2 P0.3
4. 決定要不要用UART.因為有的系列只能在P0.4 P0.5


by TroyLee
ok 我懂了...
謝謝你!!
以前用 AVR 有時候會遇到不同的週邊他的 Pin 腳卡到...
變成要改用軟體的週邊去實做...變很麻煩orz


by Jacky
Hi  youngjfvs.
謝謝你的回覆~所以在使用Silabs MCU時,也建議先使用Config WZ2 來做初始值設置,會讓你在Project上硬體規劃及F/W設置上能一目了然......


by mikeliu
uart轉can_tx
不好意思,小弟我要接uart轉can_tx
有什麼建設性的建議嗎?
any positive suggestion is welcome
thank you

也就是說要把從UART收到的"字元資料"再透過can bus的tx message
object 傳送到"B"端,"B"端收到message object後再解譯出這一個
message object的資料,有什麼建設性的建議嗎?
best regards to you all


by Jacky
你可以參考Silabs C8051F5xx系列的IC,CANBus需較快速度及要一些Buffer,所以建議使用內建CANBus Eng.的MCU會比較合適,當你裝好新的Silabs MCU IDE,在C:\SiLabs\MCU\Examples\C8051F50x_51x\CAN 會有CAN的Sample code參考....
UART 來做的會可能會Loss data.......


< from Morrihan Silicon Labs 產品討論區舊版 2009/3/2 >

TOP

發新話題