|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
請教MEGA128用14.7456M最多能模擬幾個9600,n,8,1串口可靠工作? |
| 作者:eric 欄目:單片機(jī) |
我想做個串口擴(kuò)展的設(shè)備,想用MEGA128在14.7456M晶振下工作,只處理串口數(shù)據(jù)轉(zhuǎn)換,沒有其他工作,希望能模擬4個9600,n,8,1串口可靠工作?不知速度夠不夠,能不能可靠實現(xiàn)。 還有一個方案就是用16C554做?墒俏蚁肴绻MEGA128本身可以做到就不用外擴(kuò)了。 |
| 2樓: | >>參與討論 |
| 作者: zsmbj 于 2006/10/25 12:11:00 發(fā)布:
沒有問題。 |
|
| 3樓: | >>參與討論 |
| 作者: xwj 于 2006/10/25 19:25:00 發(fā)布:
小意思 |
|
| 4樓: | >>參與討論 |
| 作者: 21班豬 于 2006/10/28 10:32:00 發(fā)布:
亂說! 做了你就知道了。 不是速度的問題,模擬一個串口,要用到一個外部中斷,一個定時器。4個就要4個外中斷,4個定時器. |
|
| 5樓: | >>參與討論 |
| 作者: zsmbj 于 2006/10/28 13:08:00 發(fā)布:
有兩種辦法。 第一基本如“21班豬”所說。不過外部中斷要4個,而定時器只需一個就行了。 模擬的txd可以是一個io,而rxd則必須接的int上。 還有一種辦法就是不需要外部中斷,只用一個定時器,快速采集io管腳的電平變化。這樣,txd和rxd都可以接在io上。不過此時要求定時器時間比較快。如9600bps則每個bit只有104us,如果單片機(jī)要采樣,可以4倍采樣(硬件串口是8倍或16倍采樣)。大概26us。在14.7456M晶振下,大概可以執(zhí)行378條單周期指令。 |
|
| 6樓: | >>參與討論 |
| 作者: erkin 于 2006/10/29 21:20:00 發(fā)布:
這是給自己找麻煩。 用個多路開關(guān)不行么? |
|
| 7樓: | >>參與討論 |
| 作者: zsmbj 于 2006/10/30 9:02:00 發(fā)布:
如果可以分時復(fù)用,用多路開關(guān)最好。 |
|
| 8樓: | >>參與討論 |
| 作者: eric 于 2006/10/30 12:18:00 發(fā)布:
不能用開關(guān),因為這樣會丟失不同COM口的RXD數(shù)據(jù)。 考慮這樣,外擴(kuò)的4個COM口RXD接4個中斷口,用起始位控制,用1個硬接口的TXD通過4051開關(guān)分別作為5個COM口的發(fā)送,也就是軟件模擬RXD,硬件開關(guān)時分復(fù)用TXD。 |
|
| 9樓: | >>參與討論 |
| 作者: xwj 于 2006/10/30 12:26:00 發(fā)布:
就如 zsmbj 所說,用AVR跑4個(8個)4倍采樣的狀態(tài)機(jī)沒一點問題 zsmbj 發(fā)表于 2006-10-28 13:08 AVR 單片機(jī) ←返回版面 有兩種辦法。 第一基本如“21班豬”所說。不過外部中斷要4個,而定時器只需一個就行了。 模擬的txd可以是一個io,而rxd則必須接的int上。 還有一種辦法就是不需要外部中斷,只用一個定時器,快速采集io管腳的電平變化。這樣,txd和rxd都可以接在io上。不過此時要求定時器時間比較快。如9600bps則每個bit只有104us,如果單片機(jī)要采樣,可以4倍采樣(硬件串口是8倍或16倍采樣)。大概26us。在14.7456M晶振下,大概可以執(zhí)行378條單周期指令。 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |