Ý tưởng của em là đúng. Để nối mạng thì mỗi nốt mạng(slave) sẽ có một địa chỉ, master sẽ sử dụng các địa chỉ này để liên lạc với các slave. Nhưng dùng kiểu kết nối 232 như của em là không ổn về mặt tín hiệu vì tín hiệu 232 dễ nhiễu nên không thể truyền đi xa được. Thường RS232 chỉ dùng để kết nối 1<->1 trong khoảng cách <15m. Với những ứng dụng vừa phải người ta sẽ dùng mạng RS485 hoặc cao hơn là mạng LAN.
Thông báo
Collapse
No announcement yet.
a USART trong AVR
Collapse
X
-
Nguyên văn bởi hungnp Xem bài viếtÝ tưởng của em là đúng. Để nối mạng thì mỗi nốt mạng(slave) sẽ có một địa chỉ, master sẽ sử dụng các địa chỉ này để liên lạc với các slave. Nhưng dùng kiểu kết nối 232 như của em là không ổn về mặt tín hiệu vì tín hiệu 232 dễ nhiễu nên không thể truyền đi xa được. Thường RS232 chỉ dùng để kết nối 1<->1 trong khoảng cách <15m. Với những ứng dụng vừa phải người ta sẽ dùng mạng RS485 hoặc cao hơn là mạng LAN.
thôi thế thì em lại phải nghiên cứu thêm vậyThiết kế chế tạo các loại máy xoáy nắp, chiết rót định lượng dùng trong dược phẩm và thực phẩm.
Comment
-
Nguyên văn bởi lytau Xem bài viếtcó ai trả lòi dệ ko vậy.
có thể cho m mọt ví dụ truyền thông vói 9 bit dữ liệu,dùng AT16Nỏ biết chữ mần răng ký được??!! Thôi nhé.
Comment
-
Nguyên văn bởi lytau Xem bài viếtcó ai trả lòi dệ ko vậy.
có thể cho m mọt ví dụ truyền thông vói 9 bit dữ liệu,dùng AT16, chỉ khác lúc khai báo khung truyền thôi, mà bạn đã truyền được 8 thì 9 thử là đc thôi, có gì cứ ... " xem datasheet
"
*** Thành viên không biết gì về điện ***
Comment
-
Nguyên văn bởi Le Thi Bich Xem bài viếtơ thế đấy là kiểu RS232 hả anh
thôi thế thì em lại phải nghiên cứu thêm vậy
Trong đó có một con Master, các con còn lại là Slave.
Khi thiết lập là Slave, nó sẽ được kích hoạt một bộ lọc khung dữ liệu đầu vào, khung dữ liệu nào ko chứa thông tin địa chỉ sẽ bị bỏ qua.
Dùng chế độ này có nhược điểm là các slave chỉ có khả năng nhận dữ liệu. Do USART ko có chức năng phân quyền ưu tiên sử dụng bus như của I2C (two wire serial interface).
+Nếu dùng khung dữ liệu 5-->8bit thì phải dùng 2 bit stop. Bit stop đầu tiên sẽ chỉ cho Slave biết khung dữ liệu đi vào là khung dữ liệu địa chỉ hay khung Data.
+Nếu khung dữ liệu là 9bit thì bit thứ 9 sẽ chỉ ra cho Slave biết khung dữ liệu đi vào là khung dữ liệu địa chỉ hay khung Data.
+Em xem cách thiết lập mode này trong datasheet phần Using MPCM
Chúc e ngâm cứu vui vẻ, lỡ ngâm cứu rồi thì ráng đi cho trọn mới thấy hết cái hay của cái mình nghiên cứu.Last edited by apple; 24-10-2008, 23:19.Mấy ai định nghĩa được tình yêu.
Có gì đâu một buổi chiều.
Kề dao lên cổ yêu hay chết .
Gật đầu cái rụp thế là yêu.
--------
Apple
Comment
-
thật ra thì em cũng không có ứng dụng bắt buộc nào phải làm, vấn đề em mới học cách truyền với USART nên thử hết các khả năng của nó xem có vấn đề jf thôi.
làm như cách của em cũng được chỉ có 2 điểm hạn chế em chưa khắc phục được là tốc độ truyền chậm và nếu byte dữ liệu trùng với byteđia chỉ của một chíp nào thì nó sẽ nhận ngay byte sau đó làm dữ liệu, em biết là buồn cười xong em thử để hiểu thêm về USART thôi các anh ạ.sau đó tất nhiên em sẽ phải học thêm các chuẩn giao tiếp khac chứ
anh APPle có thể nói cụ thể hơn về chế độ multi không hoặc cho em xin một đoạn code ví dụ thì tốt quá,
em cảm ơn các anh nhiều!.Thiết kế chế tạo các loại máy xoáy nắp, chiết rót định lượng dùng trong dược phẩm và thực phẩm.
Comment
-
Nguyên văn bởi Le Thi Bich Xem bài viếtcác anh cho em hỏi tí:
khi đang làm việc mà nhận dữ liệu qua "USART" thì có phải ngừng các hoạt động khác không ạ(nó có ngắt không) hay nó tự động nhập vào thanh ghi của nó
Với câu hỏi này thì đáp án như sau: Ngừng hay không, ngắt hay không là do mình thiết lập. Nết thiết lập dùng ngắt thì khi đang làm việc gì đó mà nhận xong 1 byte vào thì VĐK thì xảy ra ngắt nhận. Truyền đi cũng vậy... Còn nếu không thiết lập ngắt thì muốn nhận được khi VĐK làm việc khác thì ta phải luôn kiểm tra cờ nhận. Bình thường cờ nhận =0 khi nhận xong 1 byte thì nó =1.
-------
Khi gửi nhiều byte cùng lúc không ai dùng trễ cả, mà dùng ngắt để truyền tự động hoặc kiểm tra cờ để truyền thủ công. Nếu không làm như vậy thì byte trước chưa truyền hết đã ghi byte khác vào->truyền sai. Code VR nó thiết lập sẵn bộ đệm >=8 byte khi dùng ngắt là như vậy.
-------
Khoảng cách truyền xa nhất phụ thuộc nhiều yếu tố như chất lượng dây dẫn, tốc độ... Để truyền xa từ VĐK người ta phải chuyển nó ra giao diện RS232 ( +-12V). Với rs232 theo lý thuyết <=15m --> nếu theo lý thuyết nhiều khi món. Với kinh nghiệm thực tế: dây chất lượng thường thường, tốc độ lên đến 38400 baud thì khoảng cách đạt được 50m.
-------
Bích làm giao tiếp 1 M với 3 S như vậy là đúng, chỉ phải chỉnh 1 chút - nói bên dưới. Các anh hình như không làm thực tế nhiều và M & S (dùng nối tiếp) nên cứ nói lung tung làm em nó băn khoăn. Không phải dùng I2C.... gì cả. Nếu nối trực tiếp các chân TX, RX của M và các S thì cũng được 1 M và >3 S, khoảng cách cớ 5m. Còn muốn nối xa hơn thì con M nối đến max232, nhóm S dùng chung 1 max232 ( phần TTL nối đến các S) - nói thế này chắc Bích hiểu ngay cách nối nhỉ?. Kiểu nối này tôi và nghaiha đã nói nhiều trong diễn đàn này rồi.
Thực tế dùng Rs485 cũng giống dùng rs232 bán song công thôi. Chuẩn Modbus, HDLC, FLAG... thì cũng dùng được cho đường truyền vật lý rs232, rs485... Trong các giao thức này họ tổ chức 1 gói tin ( frame) nhiều byte, trong đó có cả các byte địa chỉ...
Bích cứ làm như của B nhưng thay vì truyền 1 byte 1 gói B hãy tăng lên >2 byte. Trong đó có 1 byte địa chỉ, 1 byte dữ liệu... Khi M truyền nó truyền 2 byte 1 lần. các S khi nhận cũng phải nhận 2 byte thì mới kiểm tra phần địa chỉ, nếu trùng địa chỉ với mình thì nhận byte thứ 2 làm dữ liệu... khi báo cáo về cũng vậy, có yêu cầu từ M đến 1 S cụ thể thì S mới được truyền 2 byte về M. Đây là cách làm mà các kỹ sư trẻ ở Việt Nam thường dùng vì dễ. Nên truyền 1 gói lớn hơn 2 byte vì như vậy sẽ đủ thông tin cho 1 lần truyền và có các byte kiểm tra lỗi....
Nếu muốn tự động thì cấu hình VĐK họat động chế độ đa xử lý- truyền nhận 9 bit dữ liệu. bít 9 =1 thì dữ liệu truyền là địa chỉ, =0 là dữ liệu. Khi 1 S nhận được byte có bit 9=1 mà trùng địa chỉ của nó thì nó chuyển sang nạnn dữ liệu từ các byte tiếp theo, lúc này bit 9=0 -> các S khác không sinh ra ngắt nối tiếp được...
email:mahaco@fpt.vn
Comment
-
Nguyên văn bởi hoctro89xxx Xem bài viếtChào Bích,
Với câu hỏi này thì đáp án như sau: Ngừng hay không, ngắt hay không là do mình thiết lập. Nết thiết lập dùng ngắt thì khi đang làm việc gì đó mà nhận xong 1 byte vào thì VĐK thì xảy ra ngắt nhận. Truyền đi cũng vậy... Còn nếu không thiết lập ngắt thì muốn nhận được khi VĐK làm việc khác thì ta phải luôn kiểm tra cờ nhận. Bình thường cờ nhận =0 khi nhận xong 1 byte thì nó =1.
-------
Khi gửi nhiều byte cùng lúc không ai dùng trễ cả, mà dùng ngắt để truyền tự động hoặc kiểm tra cờ để truyền thủ công. Nếu không làm như vậy thì byte trước chưa truyền hết đã ghi byte khác vào->truyền sai. Code VR nó thiết lập sẵn bộ đệm >=8 byte khi dùng ngắt là như vậy.
-------
Khoảng cách truyền xa nhất phụ thuộc nhiều yếu tố như chất lượng dây dẫn, tốc độ... Để truyền xa từ VĐK người ta phải chuyển nó ra giao diện RS232 ( +-12V). Với rs232 theo lý thuyết <=15m --> nếu theo lý thuyết nhiều khi món. Với kinh nghiệm thực tế: dây chất lượng thường thường, tốc độ lên đến 38400 baud thì khoảng cách đạt được 50m.
-------
Bích làm giao tiếp 1 M với 3 S như vậy là đúng, chỉ phải chỉnh 1 chút - nói bên dưới. Các anh hình như không làm thực tế nhiều và M & S (dùng nối tiếp) nên cứ nói lung tung làm em nó băn khoăn. Không phải dùng I2C.... gì cả. Nếu nối trực tiếp các chân TX, RX của M và các S thì cũng được 1 M và >3 S, khoảng cách cớ 5m. Còn muốn nối xa hơn thì con M nối đến max232, nhóm S dùng chung 1 max232 ( phần TTL nối đến các S) - nói thế này chắc Bích hiểu ngay cách nối nhỉ?. Kiểu nối này tôi và nghaiha đã nói nhiều trong diễn đàn này rồi.
Thực tế dùng Rs485 cũng giống dùng rs232 bán song công thôi. Chuẩn Modbus, HDLC, FLAG... thì cũng dùng được cho đường truyền vật lý rs232, rs485... Trong các giao thức này họ tổ chức 1 gói tin ( frame) nhiều byte, trong đó có cả các byte địa chỉ...
Bích cứ làm như của B nhưng thay vì truyền 1 byte 1 gói B hãy tăng lên >2 byte. Trong đó có 1 byte địa chỉ, 1 byte dữ liệu... Khi M truyền nó truyền 2 byte 1 lần. các S khi nhận cũng phải nhận 2 byte thì mới kiểm tra phần địa chỉ, nếu trùng địa chỉ với mình thì nhận byte thứ 2 làm dữ liệu... khi báo cáo về cũng vậy, có yêu cầu từ M đến 1 S cụ thể thì S mới được truyền 2 byte về M. Đây là cách làm mà các kỹ sư trẻ ở Việt Nam thường dùng vì dễ. Nên truyền 1 gói lớn hơn 2 byte vì như vậy sẽ đủ thông tin cho 1 lần truyền và có các byte kiểm tra lỗi....
Nếu muốn tự động thì cấu hình VĐK họat động chế độ đa xử lý- truyền nhận 9 bit dữ liệu. bít 9 =1 thì dữ liệu truyền là địa chỉ, =0 là dữ liệu. Khi 1 S nhận được byte có bit 9=1 mà trùng địa chỉ của nó thì nó chuyển sang nạnn dữ liệu từ các byte tiếp theo, lúc này bit 9=0 -> các S khác không sinh ra ngắt nối tiếp được...
để truyền đi xa em đang có ý tưởng chuyển thành nguồn dòng chuẩn 4-20mA không biết có được không nữaThiết kế chế tạo các loại máy xoáy nắp, chiết rót định lượng dùng trong dược phẩm và thực phẩm.
Comment
-
Nguyên văn bởi Le Thi Bich Xem bài viếtôi trời vậy mà em không nghĩ ra, tại vì em cứ tưởng chỉ truyền được 8 bít thôi,
để truyền đi xa em đang có ý tưởng chuyển thành nguồn dòng chuẩn 4-20mA không biết có được không nữa
Hãy tìm lại các bài viết của anh trong diễn đàn này, đã hướng dẫn kỹ về phần này rồi. Có cả hình vẽ chi tiết về mạch chuyển đổi này.
Nếu không thấy hãy liên hệ với anh.
email:mahaco@fpt.vn
Comment
-
Nếu muốn tự động thì cấu hình VĐK họat động chế độ đa xử lý- truyền nhận 9 bit dữ liệu. bít 9 =1 thì dữ liệu truyền là địa chỉ, =0 là dữ liệu. Khi 1 S nhận được byte có bit 9=1 mà trùng địa chỉ của nó thì nó chuyển sang nạnn dữ liệu từ các byte tiếp theoMấy ai định nghĩa được tình yêu.
Có gì đâu một buổi chiều.
Kề dao lên cổ yêu hay chết .
Gật đầu cái rụp thế là yêu.
--------
Apple
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Hàn chì thiếc lên nhôm.bởi nhathung1101À há! Bà í quen cầm cục hàn khò...
Hàn khò có cần "dung môi" không nhỉ?...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 16:30 -
-
Trả lời cho Hàn chì thiếc lên nhôm.bởi vi van phamSai bét. Bà í không biết cầm mỏ hàn điện (phải viết to chữ điện), nên tui ra chơi với diễn đàn . Chớ thấy vậy mà chê bai tui.
...
-
Channel: Tâm tình dân kỹ thuật
10-03-2025, 20:54 -
-
Trả lời cho Biết gì nói nấy, cãi chửi thoải máibởi nhathung1101Và mai tôi lại phải bay...
Chỉ mong muốn anh em hiểu: Là đừng làm dối lòng, khiến đàn em nức nở..
Cứ cãi nhau, ra việc lớn. Chứ đừng vì cái "tôi" rồi làm hỏng bọn chúng..
Ai hiểu cứ nói. Ai thấy sai cứ cãi. Kỹ thuật là vậy. Chỉ đúng khi có kết quả.-
Channel: Tâm tình dân kỹ thuật
10-03-2025, 20:37 -
-
Trả lời cho Biết gì nói nấy, cãi chửi thoải máibởi nhathung1101Xin thưa là tôi rất dốt món Ing Lịch. Chỉ là các bạn đưa lên những từ không ai hiểu, nên tôi phải theo.
Chứ ngày xưa được huấn luyện, cũng không như bạn nói đâu, và bạn Mỹ của tôi, hiểu như người nhà.
Bạn học giỏi thì đưa mấy từ lên đây đi, về điện tử thuần túy để anh em nghiên cứu....-
Channel: Tâm tình dân kỹ thuật
10-03-2025, 19:59 -
-
Trả lời cho Biết gì nói nấy, cãi chửi thoải máibởi nhathung1101Tôi "cũng tưởng thế". Nhưng giờ tôi sẽ để họ hiểu "Phổ biến kiến thức đường phố" nó khác thế nào.
Mời bạn theo dõi tiếp....-
Channel: Tâm tình dân kỹ thuật
10-03-2025, 19:53 -
-
Trả lời cho Biết gì nói nấy, cãi chửi thoải máibởi nhathung1101Lão lại quên: Nhất Thủy nhì Hỏa
Hà Nội lụt thì toi cả quần chip....-
Channel: Tâm tình dân kỹ thuật
10-03-2025, 19:49 -
-
Trả lời cho Biết gì nói nấy, cãi chửi thoải máibởi nhathung1101Cứ cãi chửi nhau đi mà...
Nhưng nhớ là vào đây cãi chửi nhau, chứ mấy luồng kỹ thuật bên ngoài thì làm cho đúng.
Ai thích cãi chửi nhau cứ vào đây gặp tôi!-
Channel: Tâm tình dân kỹ thuật
10-03-2025, 19:45 -
-
Trả lời cho Hàn chì thiếc lên nhôm.bởi nhathung1101
Lão lại bị bà í bắt ngủ riêng rồi....
...
-
Channel: Tâm tình dân kỹ thuật
10-03-2025, 19:38 -
-
Trả lời cho Sạc bình acquy 30ahbởi nhathung11014r có luồng "Đánh giá...." sao không đăng???
Đề nghị bqv chuyển luôn. Và xóa bài của tôi luôn cho gọn....-
Channel: Điện tử dành cho người mới bắt đầu
10-03-2025, 19:32 -
-
Trả lời cho Hỗ trợ tìm linh kiện mạch hạ áp 220V - 110Vbởi davidcopyTheo như A.I phân tích thì mạch này ghim điện DC ngõ ra, tụ 250VDC thì ngõ vào khoảng 220VDC là ok....
-
Channel: Hướng dẫn tìm thông tin linh kiện
08-03-2025, 11:45 -
Comment