|
|||||||||||
| 技術(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 |
兩單片機(jī)和RS485系統(tǒng)的UART難題如何解決? |
| 作者:quaker2008 欄目:單片機(jī) |
現(xiàn)在正在做一個單片機(jī)的開發(fā)項目,選用的是ATMEL公司的AT89C55WD 51單片機(jī),由于要在一塊單片機(jī)上實現(xiàn)12位AD、DA轉(zhuǎn)換,還要做數(shù)據(jù)傳輸?shù)?a target="_blank" href="http://m.58mhw.cn/icstock/291/RS485.html">RS485、CAN接口,除此之外,還有紅外遙控,聲光報警,方波輸出,LED數(shù)碼顯示等等,考慮到這一切后,單片機(jī)的資源就不夠用了,而且就算對單片機(jī)的端口進(jìn) 行擴(kuò)展,要在一塊單片機(jī)上實現(xiàn)以上所有的功能,單片機(jī)的負(fù)擔(dān)還是比較重的,所以后來就考慮采用兩個單片機(jī),另外再加一塊ATMEL公司的AT89C2051,將方波輸出,聲光報警等功能轉(zhuǎn)移到第二塊單片機(jī)上,這樣將一些功能轉(zhuǎn)移到第二塊單片機(jī)上,可以減輕第一塊單片機(jī)的負(fù)擔(dān)。 設(shè)想中的功能是:第一塊單片機(jī)AT89C55WD作為主單片機(jī),用于實現(xiàn)數(shù)據(jù)的采集(AD、DA轉(zhuǎn)換),CAN接口(采用的是SJA1000和PCA820250芯片做的CAN接口電路),以及數(shù)據(jù)的LED數(shù)碼顯示等;第二塊單片機(jī)用于方波的輸出,在需要的時候進(jìn)行聲光報警。 這些可以通過兩個單片機(jī)的UART(RXD、TXD)口實現(xiàn)兩機(jī)之間的通訊,但是單片機(jī)的UART(RXD、TXD)還要實現(xiàn)RS485接口(采用MAX485芯片)的,如此一來,在兩個單片機(jī)和RS485接口之間就要有些硬件和軟件上面的考慮了,不知道在硬件方面,應(yīng)該加些什么樣的電路來實現(xiàn)這些功能?軟件方面呢,應(yīng)該注意哪些問題? 不知道我的上述方案是否合理,可不可以實現(xiàn)?可以的話,具體如何實現(xiàn)呢?或者還有更好的解決辦法? 希望大家不吝賜教,先謝謝了! |
| 2樓: | >>參與討論 |
| 作者: jhycl 于 2006/8/31 15:18:00 發(fā)布:
2種方案 如果對成本要求不高可以用16C550擴(kuò)一個串口,專門和副cpu通訊。 如果用485方式的話,副cpu也用485,主cpu作主機(jī),副cpu作從機(jī),采用多機(jī)通訊方式。 |
|
| 3樓: | >>參與討論 |
| 作者: quaker2008 于 2006/8/31 15:24:00 發(fā)布:
補充幾句 為什么不采用集成度比較高的增強型51單片機(jī),比如Sil Labs公司的C8051F系列或者ADI公司的ADuc812/842等呢? 一是開發(fā)工具的問題,用那些芯片的話,得另外買燒寫器和仿真器吧,而且我們這邊熟悉這些單片機(jī)的人也很少,這里有標(biāo)準(zhǔn)的51單片機(jī)的燒寫器和仿真器,比如針對ATMEL和菲利普的單片機(jī),而且熟悉ATMEL單片機(jī)的人也不少,可以向他們請教的。 二來這些單片機(jī)雖然集成了12位或者更高的AD、DA,但是其性能比起專門的AD、DA芯片,還是要差一截吧。 所以現(xiàn)在是打算在AT89C55這款芯片上來作開發(fā)。 |
|
| 4樓: | >>參與討論 |
| 作者: quaker2008 于 2006/8/31 16:33:00 發(fā)布:
第2種方案不適合 因為RS485只是其中的一種通訊方式,不一定能用得上,還有可能是通過CAN總線傳送數(shù)據(jù)或是頻率、電壓輸出,所以我想的是能夠就只是通過uart(或者再加上一些外圍芯片和占用單片機(jī)的一些口線)來實現(xiàn)所需的功能 |
|
| 5樓: | >>參與討論 |
| 作者: maychang 于 2006/8/31 19:39:00 發(fā)布:
如果一定要用51單片機(jī),可以考慮用77E58 有兩個異步串口,與普通51完全兼容,但較貴。 AVR單片機(jī)在這個問題上明顯有優(yōu)勢,除異步串口外,一般都有同步串口(SPI),同步串口用來作兩個或更多單片機(jī)之間的通訊非常方便。AVR也有帶兩個異步串口的型號。 |
|
| 6樓: | >>參與討論 |
| 作者: gezhi 于 2006/9/1 9:22:00 發(fā)布:
我也在考慮你這個問題呢 我有多個設(shè)備要用到UART口,該怎么辦呢 |
|
| 7樓: | >>參與討論 |
| 作者: gyt 于 2006/9/1 11:04:00 發(fā)布:
模擬 軟件模擬串口很容易的。 |
|
| 8樓: | >>參與討論 |
| 作者: 一無所知 于 2006/9/1 13:37:00 發(fā)布:
樓主,ADuC8XX的性能是不錯的 不知道你的要求是不是比較特別,而且它不用專門的燒寫器~~并且KEIL C對它的支持我個人感覺還是不錯的,當(dāng)然比較貴~~~至于AD的性能我感覺還是不錯的~~當(dāng)然也要視您的要求而論,我一直在用ADUC的8XXX系列,您要視愿意我們可以交流交流~~我見識太少了~~呵呵~~ |
|
| 9樓: | >>參與討論 |
| 作者: aibxyz 于 2006/9/1 14:53:00 發(fā)布:
模擬串口 以前做過一個類是的項目,就是這么做的 AT89C55WD和AT89C52 不過如果成本要求不是那么嚴(yán)格的話,用增強型51也不錯的 如uPSD系列的 |
|
| 10樓: | >>參與討論 |
| 作者: quaker2008 于 2006/9/1 19:57:00 發(fā)布:
回一無所知 呵呵,你太客氣了,這方面我才剛起步,大家互相學(xué)習(xí)和交流吧 |
|
| 11樓: | >>參與討論 |
| 作者: xwj 于 2006/9/1 23:45:00 發(fā)布:
都不是最好的方法,LZ要學(xué)會復(fù)用資源 如果只是為了“另外再加一塊ATMEL公司的AT89C2051,將方波輸出,聲光報警等功能轉(zhuǎn)移到第二塊單片機(jī)上”, 那么根本沒必要再加個單片機(jī) 而且主從機(jī)通訊實現(xiàn)的方法很多,不要只局限于串口哦 |
|
| 12樓: | >>參與討論 |
| 作者: bh_wang 于 2006/9/2 10:52:00 發(fā)布:
沒必要用2個CPU |
|
| 13樓: | >>參與討論 |
| 作者: qdljd 于 2006/9/2 20:48:00 發(fā)布:
你可以采用DS1609雙口RAM ,這個問題就很好解決了. |
|
| 14樓: | >>參與討論 |
| 作者: 平常人 于 2006/9/2 21:32:00 發(fā)布:
有個功能強的ARM單片機(jī)比用兩個8位的單片機(jī)省事多了 功能上既能滿足需要,硬件上也沒那么復(fù)雜。 |
|
| 15樓: | >>參與討論 |
| 作者: dellric 于 2006/9/4 1:50:00 發(fā)布:
一塊單片機(jī)上實現(xiàn) 一塊單片機(jī)上實現(xiàn) 12位AD、DA轉(zhuǎn)換,CAN接口在總線上擴(kuò)展 數(shù)據(jù)傳輸?shù)?a target="_blank" href="http://m.58mhw.cn/icstock/291/RS485.html">RS485用75176加一個P1.X口 還有紅外遙控,聲光報警,方波輸出如果一個功能一個腳,那P1口足夠用了,不夠用還是在總線上擴(kuò)(用373做輸出,244做輸入) LED數(shù)碼顯示或鍵盤也用373和244擴(kuò)展了。當(dāng)然你可以用古老的8279,也可以用7219,毛了在總線上擴(kuò)個液晶的做顯示,P1口上搞個PS2的鍵盤。 譯碼芯片考慮用3-8線譯碼器138,腿腿少了就用4-16線譯碼器154,還嫌少了就用CPLD譯一大堆出來,還少了你就買2斤二鍋頭壯膽,準(zhǔn)備一個鐵錘,學(xué)馬同學(xué)那樣對老板頭上那么一波就什么事都搞定了 考慮到這一切后,單片機(jī)的資源就不可能不夠用了,呵呵,如果還是不夠用,就2斤……(省略暴力描述若干) |
|
| 16樓: | >>參與討論 |
| 作者: xufawang 于 2006/9/12 15:50:00 發(fā)布:
一位工程師 尋一位:單片機(jī)硬件工程師 要求: 1。懂protel 或 PowerPcb的一種,有2年以上layout經(jīng)驗 2。有從事硬件電路設(shè)計,調(diào)試經(jīng)驗2年以上,能完全負(fù)責(zé)普通消費類電子產(chǎn)品的全套硬件設(shè)計 3。懂單片機(jī)并有志在單片機(jī)方面發(fā)展 4。有跟生產(chǎn)加工廠家配合經(jīng)驗尤佳, 工作地址:深圳特區(qū)市內(nèi) 聯(lián)系方式:xfw2003@tom.com |
|
| 17樓: | >>參與討論 |
| 作者: cnpollux 于 2006/9/12 16:08:00 發(fā)布:
不一定非要用UART 兩個MCU間可以不用UART,自定通信方式,I2C,SPI或者類似的自定義接口等。另外模擬UART也很簡單 |
|
| 18樓: | >>參與討論 |
| 作者: lyjian 于 2006/9/12 18:41:00 發(fā)布:
一片搞定,沒必要這么復(fù)雜 C8051F04x/06x,51內(nèi)核,25MIPS。CAN有,AD有,DA有,PGA有,SPI有,I2C有,UART有2,PWM有,基本你要外加的功能它集成,連仿真器都不需要(真正在線仿真)。你需要把方案做得那么復(fù)雜嗎? |
|
| 19樓: | >>參與討論 |
| 作者: WANGJIE88 于 2006/9/13 11:42:00 發(fā)布:
大家好 大家好,我是今天剛申請的,我上班了,望各位網(wǎng)友,以后多多關(guān)照! |
|
| 20樓: | >>參與討論 |
| 作者: sz7988 于 2006/9/13 15:54:00 發(fā)布:
查找IC 大家好!有誰用過4聲輸入2聲道輸出的電子音量IC嗎? |
|
| 21樓: | >>參與討論 |
| 作者: power5000 于 2006/9/13 16:37:00 發(fā)布:
從機(jī)也要求485接口不是很好的嘛 既然你要有485接口,那把從機(jī)的接口也要求485接口不是很好嘛!其實貴一點的51片子能滿足你的要求,用不著用兩塊MCU-51了 |
|
| 22樓: | >>參與討論 |
| 作者: aonifly 于 2006/9/13 20:20:00 發(fā)布:
脈沖直流電流互感器 請教哪位大俠:現(xiàn)有一臺脈沖恒流源,電流0-120A,f=400hz,脈寬20%。怎樣設(shè)計一互感器檢測此恒流源電流。前提:無外部電源。幫幫忙 |
|
| 23樓: | >>參與討論 |
| 作者: bluearia 于 2006/9/13 22:46:00 發(fā)布:
合理分配資源,擴(kuò)展好端口,一塊ATMEL的51單片機(jī)完全可以做到 |
|
| 24樓: | >>參與討論 |
| 作者: lengyuezh 于 2006/9/16 16:27:00 發(fā)布:
fangdaqi 有沒有程控直流放大器的資料啊 急 |
|
| 25樓: | >>參與討論 |
| 作者: 吳翀 于 2006/9/28 11:46:00 發(fā)布:
擴(kuò)展的太多,處理時間也是一個嚴(yán)重的問題,值得考慮 |
|
| 26樓: | >>參與討論 |
| 作者: yanhanyu 于 2006/10/3 23:01:00 發(fā)布:
1 用奔4吧! |
|
| 27樓: | >>參與討論 |
| 作者: 風(fēng)2008 于 2006/10/4 17:07:00 發(fā)布:
模擬UART也很簡單 請問怎么簡單? 能把程序發(fā)上來看看嗎? 或者在哪里有這方面的資料,急用,能指點下嗎?謝謝! |
|
| 28樓: | >>參與討論 |
| 作者: magicchip 于 2006/10/19 17:17:00 發(fā)布:
用高速單機(jī)吧,51可能不行了, |
|
| 29樓: | >>參與討論 |
| 作者: botom 于 2006/10/25 16:08:00 發(fā)布:
都使用485吧! 多機(jī)通信用uart不行,主從方式用模擬門切換還行! |
|
| 30樓: | >>參與討論 |
| 作者: xiajiean 于 2006/10/25 16:52:00 發(fā)布:
我是這樣實現(xiàn)單片機(jī)一個uart與兩個設(shè)備通訊的 單片機(jī)是PIC16F877 877用于ad采樣 其它控制,用877的一個uart同時與計算機(jī)和51單片機(jī)通訊 51用于lcd或led數(shù)碼管,用于現(xiàn)場顯示 877的一個uart用于與計算機(jī)和51單片機(jī)通訊 與計算機(jī)通訊采用485總線 16f877平時與51采用ttl電平進(jìn)行通訊, 通訊數(shù)據(jù)上,877向51和計算機(jī)發(fā)送數(shù)據(jù)包完全一樣。51和計算機(jī)各取不同的數(shù)據(jù)就行了。 當(dāng)判斷到485有效數(shù)據(jù)到來時,877只要用一個口線來控制485像計算機(jī)發(fā)送數(shù)據(jù)能夠就行了,硬件上非常簡單。 51的uart也可以一樣的處理。 |
|
| 31樓: | >>參與討論 |
| 作者: jdwang 于 2006/10/25 19:45:00 發(fā)布:
一片89C51實現(xiàn)RS485和RS232通信 一個串口實現(xiàn)2路串行通信,用一片模擬開關(guān)在2路間切換(CD4066),很方便。 |
|
| 32樓: | >>參與討論 |
| 作者: 80572892 于 2006/10/25 20:44:00 發(fā)布:
不用兩個單片機(jī) 可以不用兩個單片機(jī),如果AD DA用串行的根本不用幾根線。 聲光報警(1線),方波輸出(1線),LED(3跟線),AD(3根線)DA(3根線) CAN掛在數(shù)據(jù)總線上, 51有32根線,還會剩一些呢。 |
|
| 33樓: | >>參與討論 |
| 作者: linwei1234 于 2006/10/29 1:23:00 發(fā)布:
和哈 |
|
| 34樓: | >>參與討論 |
| 作者: jllhzzj 于 2006/11/5 10:12:00 發(fā)布:
不要用擴(kuò)展了 一塊單片機(jī)上實現(xiàn) 12位AD、DA轉(zhuǎn)換,CAN接口在總線上擴(kuò)展???????/ 不要用擴(kuò)展了,用PSOC 連 運放都省了,又是單電源,我這里還有一點備貨,8元/片 |
|
| 35樓: | >>參與討論 |
| 作者: dengm 于 2006/11/5 10:48:00 發(fā)布:
re: 2片方案: 用一片 AT89C2051 完成 紅外遙控 接受(用SPI發(fā)給主片, LED 顯示 定時, RS248 方向控制, 主片的看門狗。 |
|
| 36樓: | >>參與討論 |
| 作者: bossbqm 于 2006/11/10 9:10:00 發(fā)布:
有擴(kuò)口的芯片的 MAX的 得犧牲你幾個口線 有擴(kuò)串口的芯片的 MAX的 得犧牲你幾個口線 |
|
| 37樓: | >>參與討論 |
| 作者: hgn2002 于 2006/11/16 16:33:00 發(fā)布:
還不如用Psoc方便,2小時搞定了,呵呵 |
|
| 38樓: | >>參與討論 |
| 作者: CHAONONG 于 2006/11/28 8:57:00 發(fā)布:
找修點 大家好:那位朋友知道修理編程器的地方 |
|
| 39樓: | >>參與討論 |
| 作者: mcu430 于 2006/11/28 11:22:00 發(fā)布:
hao |
|
| 40樓: | >>參與討論 |
| 作者: hunter01 于 2006/11/28 19:55:00 發(fā)布:
串口只能一對一,不然會有問題.最好 最好用一個單片機(jī)就可以了 樓主執(zhí)意要用2051,可以考慮模擬spi三線制通訊. 或者用PHILIPS lpc76x,iic通訊 * - 本貼最后修改時間:2006-11-28 19:56:33 修改者:hunter01 |
|
| 41樓: | >>參與討論 |
| 作者: hq_y 于 2006/11/28 21:32:00 發(fā)布:
還是一個單片機(jī)的好,這點事情應(yīng)該能完成 |
|
| 42樓: | >>參與討論 |
| 作者: IC1008 于 2006/11/29 12:10:00 發(fā)布:
兩個CPU 別人盜版也麻煩點 |
|
| 43樓: | >>參與討論 |
| 作者: martinpolo 于 2006/12/1 16:14:00 發(fā)布:
這也要用錘? 曾經(jīng)有個臺灣老,用一塊51做小型收款機(jī)系統(tǒng)的。打印,顯示,鍵盤,讀卡,2通道通信,4m存儲。。。。。給他寫驅(qū)動寫瘋了 |
|
| 44樓: | >>參與討論 |
| 作者: yzqok 于 2006/12/18 12:47:00 發(fā)布:
樓主真是牛人,真是要多做多學(xué)呀. |
|
| 45樓: | >>參與討論 |
| 作者: larrych 于 2007/1/17 14:29:00 發(fā)布:
dsdfs dsdsfds |
|
| 46樓: | >>參與討論 |
| 作者: taosha 于 2007/1/20 15:38:00 發(fā)布:
支持 支持 |
|
| 47樓: | >>參與討論 |
| 作者: fjqhh 于 2007/4/7 20:06:00 發(fā)布:
路過 學(xué)習(xí)學(xué)習(xí) |
|
| 48樓: | >>參與討論 |
| 作者: snakeemail 于 2007/4/9 15:46:00 發(fā)布:
我是用spi在兩個cpu之間通訊的,交流一下,snakeemail@163.com 是主從模式 |
|
| 49樓: | >>參與討論 |
| 作者: xulonghui 于 2007/4/9 18:59:00 發(fā)布:
真牛x 真的很牛X |
|
| 50樓: | >>參與討論 |
| 作者: lvbi 于 2007/4/13 7:48:00 發(fā)布:
51該淘汰了 51是一種最基本讓你學(xué)習(xí)入門的單片機(jī),但性價比不太適合現(xiàn)在的市場競爭! 有便宜的HT的,有高速的PIC,AVR ,他們的指令周期是50NS.速度是快得不行了,而且也不貴哦!!學(xué)習(xí)也比較容易.呵呵!! |
|
| 51樓: | >>參與討論 |
| 作者: fengxi 于 2007/5/12 14:48:00 發(fā)布:
各位朋友:如何用兩片8位ADC芯片實現(xiàn)16位精度的采樣? |
|
| 52樓: | >>參與討論 |
| 作者: xwj 于 2007/5/12 14:55:00 發(fā)布:
LS,你那想法能實現(xiàn)的話那么高進(jìn)度ADC就不值錢了... |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |