PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Giao tiếp cổng COM và LPT (http://www.picvietnam.com/forum/forumdisplay.php?f=44)
-   -   Kết nối 4 devices với PIC qua RS232 (http://www.picvietnam.com/forum/showthread.php?t=7258)

blackbox 26-10-2010 04:09 PM

Kết nối 4 devices với PIC qua RS232
 
Chào các bạn,

Mình mới học PIC, nay có một project khó không biết giải quyết thế nào. Mong các bạn chỉ giáo. Project đó cụ thể thế này:

1. Có 4 devices A gửi thông tin qua cổng RS232
2. 1 device B khác nhận thông tin từ 4 devices A trên để xử lý, đồng thời device B này cũng có thể gửi thông tin đến vi xử lý trung tâm.
3. 1 PIC đóng vai trò tung tâm điều khiển việc truyền nhận dữ liệu từ các devices trên

Vấn đề của mình là không biết 1 PIC có thể làm được tất cả mọi việc nêu trên hay phải dùng nhiều PIC ghép lại.

Bạn nào có kinh nghiệm về vấn đề này xin cho lời khuyên.
Cảm ơn,

xtravel 27-10-2010 01:34 AM

có một giải pháp chắc dễ hơn là bạn dùng truyền dẫn qua mạng CAN

ideacoding 27-10-2010 02:03 AM

1 Attachment(s)
Bạn hoàn toàn có thể sử dụng một con Pic làm device B, nếu không vướng bận về chân cẳng lắm thì bạn có thể sử dụng các chân IO làm thành các chân UART, còn chân RXD và TXD của Pic thì bạn dùng để giao tiếp với server của bạn.

Còn về cách tạo softuart như thế nào thì bạn có thể tham khảo tại đây !
www.datadog.com/software_uart.pdf

Chúc vui !

blackbox 27-10-2010 11:26 AM

Cảm ơn các bạn đã giúp.

Trích:

Nguyên văn bởi ideacoding (Post 39634)
Bạn hoàn toàn có thể sử dụng một con Pic làm device B, nếu không vướng bận về chân cẳng lắm thì bạn có thể sử dụng các chân IO làm thành các chân UART, còn chân RXD và TXD của Pic thì bạn dùng để giao tiếp với server của bạn.

Còn về cách tạo softuart như thế nào thì bạn có thể tham khảo tại đây !
www.datadog.com/software_uart.pdf

Chúc vui !

@ideacoding: bạn có thể nói rõ hơn được không?

Mình thấy trong tài liệu softuart mô tả cho dòng PIC10F, dòng nay chỉ có 6 pins trong đó có 4 I/O pins. Theo mình hiểu bạn sẽ dùng 4 con PIC10F giao tiếp với 4 devices A bằng softuart, đồng thời 4 PIC10F này sẽ connect tới 1 PIC trung tâm có UART. Device B sẽ giao tiếp với PIC trung tâm này thông qua UART I/F.

Không biết mình hiểu như thế có đúng không?

Thanks,

nhanh0112 27-10-2010 01:15 PM

Với đầu bài của bạn có thể sử dụng mô hình mạng 485 (2 dây) cũng đc đấy chứ. Tất cả các thiết bị đều lắp giao tiếp với nhau chung trên đường dây, mỗi device sẽ có 1 địa chỉ, khi gửi dữ liệu thì phải kèm theo địa chỉ này. Vì vậy mà chỉ cần sử dụng 1 bộ UART có sẵn là đủ. Nếu ko quá yêu cầu về tốc độ (1 thời điểm chỉ có 1 device đc phép gửi dữ liệu) thì mô hình này có lẽ là đáp ứng đc đầu bài của bạn.
Chúc thành công!

ideacoding 28-10-2010 02:02 AM

1 Attachment(s)
Trích:

Nguyên văn bởi blackbox (Post 39636)
Cảm ơn các bạn đã giúp.



@ideacoding: bạn có thể nói rõ hơn được không?

Mình thấy trong tài liệu softuart mô tả cho dòng PIC10F, dòng nay chỉ có 6 pins trong đó có 4 I/O pins. Theo mình hiểu bạn sẽ dùng 4 con PIC10F giao tiếp với 4 devices A bằng softuart, đồng thời 4 PIC10F này sẽ connect tới 1 PIC trung tâm có UART. Device B sẽ giao tiếp với PIC trung tâm này thông qua UART I/F.

Không biết mình hiểu như thế có đúng không?

Thanks,

@ blackbox : Có thể là bạn chưa hiểu ý của mình ! Ý mình như thế này nè
1. Không nhất thiết phải là Pic10F, bạn có thể sử dụng pic khác nhiều chân hơn, để đơn giản bạn chọn Pic16F887.
2. Một con Pic có 5 cổng uart (=> device B) trong đó có 1 cổng uart cứng và 4 uart mềm (softuart). 4 Softuart kết nối với 4 device A mà bạn muốn. Còn uart thực thì bạn dùng để giao tiếp với Pic trung tâm !

Như vậy bạn không cần phải kết nối Pic trung tâm với các device A làm gì cả mà chỉ cần giao tiếp với Device B là đủ.

Tham khảo hình dưới nhé !

blackbox 29-10-2010 11:08 AM

@nhanh0112: cảm ơn bạn, giải pháp của bạn rất hay. Mình sẽ tìm hiểu thêm hướng này.

@ideacoding: mình hiểu rõ hơn giải pháp của bạn. Rất hay.

falleaf 29-10-2010 05:34 PM

Xài luôn con PIC32 có 5,6 UART cho khỏe, khỏi phải suy nghĩ :D

Chúc vui

falleaf 29-10-2010 05:34 PM

Xài luôn con PIC32 có 5,6 UART cho khỏe, khỏi phải suy nghĩ :D

Chúc vui

ideacoding 29-10-2010 06:52 PM

No table :D


Múi giờ GMT. Hiện tại là 07:58 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam