PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Các dự án mã nguồn mở (http://www.picvietnam.com/forum/forumdisplay.php?f=73)
-   -   Ứng dụng chuyển đổi USB2COM dùng PIC giá rẻ (http://www.picvietnam.com/forum/showthread.php?t=4733)

phamminhtuan 12-08-2009 02:28 PM

Ứng dụng chuyển đổi USB2COM dùng PIC giá rẻ
 
3 Attachment(s)
Đây là thiết kế mạch chuyển đổi từ USB sang UART và ngược lại được xây dựng trên USB Stack của MCHP( sửa chữa + bổ sung) dành cho PIC18F14K50 giá rẻ.

Những đặc tính của thiết kế USB2UART
  • UART I/F Supports 7 / 8 Bit Data, 1 / 2 Stop Bits and Odd/Even/Mark/Space/No Parity
  • Baudrate đạt tối đa 115200, có thể tùy chỉnh bằng software(CDC class) trên máy tính
  • Set_Line_Coding, Set_Control_Line_State, Get_Line_Coding, and Serial_State commands
  • Data flow control (Half - Only RTS)
  • USB transmiter interrupts
  • USB Full Speed, Low Speed
  • VIRTUAL COM PORT (VCP) DRIVERS XP, Vista, Windows 7

và những ưu điểm của PIC18F14K50
  • 1 Enhanced Capture/Compare/PWM
  • Master Synchronous Serial Port (I2C, SPI)
  • Enhanced Addressable USART module hỗ trợ RS485, RS422, LIN2.0
  • 10-bit, up to 9-channel Analog-to-Digital
  • Comparator with SR Latch -> Hỗ trợ Touch
  • 256 Bytes EEPROM

Ứng dụng:
  • Ứng dụng chủ yếu là làm cổng COM ảo, chuyển đổi USB <->UART
  • Ứng dụng giao tiếp máy tính đơn giản
  • Ứng dụng đo lường
  • Điều khiển mạng RS485
  • Và còn nhiều nữa vì Code có thể sửa, có hướng dẫn và giải đáp thắc mắc tại thread này

BOM:
Item Quantity Reference Part
______________________________________________

1 1 C5 0.1uF
2 2 C6,C7 27p
3 1 C8 0.47uF
4 1 J9 CON2
5 1 J10 CON5
6 1 U2 PIC18F14k50
7 1 Y2 12MHz

Mạch nguyên lý:

Nếu dùng Flow Control thì cần bỏ comment như hình dưới trong file usb_config.h
và định nghĩa 2 PIN cho Flow Control

Sau hoàn thành mạch, kết nối vào máy tính thì được yêu cầu driver cho mạch, trong folder inf có đính kèm

Có thể chỉnh tốc độ Baud bằng phần mềm thông thường như sử dụng với cổng COM thật.
Firmware + Code(included .inf) + Schematic (Tested)

vidieukhiencdn 12-08-2009 06:56 PM

Con ic này giá bán lẻ là bao nhiêu vậy anh

falleaf 12-08-2009 10:34 PM

Giá 1-9 con = 2.39*1.1(vận chuyển)*1.1(VAT)*18,700 (tỉ giá)
Giá 10-25 con = 2.39*1.05*1.1*18,700
Giá 26-99 con = 2.19*1.05*1.1*18,700

Chúc vui

jackiele 13-08-2009 01:04 AM

Hihi! Đắt quá nhỉ! Trong khi con PL2303Hx - con chip chuyển USB to UART - trên thị trường khoảng 22000 Vnđ.

Tuy nhiên nếu dùng con này để làm thiết bị giao tiếp với máy tính qua USB thì có vẽ rẽ thiệt so với 18F2550 và 18F4550.

Chúc vui.

phamminhtuan 13-08-2009 03:48 PM

Trích:

Nguyên văn bởi jackiele (Post 28603)
Hihi! Đắt quá nhỉ! Trong khi con PL2303Hx - con chip chuyển USB to UART - trên thị trường khoảng 22000 Vnđ.

Tuy nhiên nếu dùng con này để làm thiết bị giao tiếp với máy tính qua USB thì có vẽ rẽ thiệt so với 18F2550 và 18F4550.

Chúc vui.

Bạn không thể dùng con PL2303Hx một mình, trong khi nếu như ứng dụng của bạn là đo lường bằng máy tính chẳng hạn, một con PIC18F14K50 với cảm biến nữa là ok rồi. Giả sử với ứng dụng trên, bạn dùng PL2303Hx + 8051 + ADC + cảm biến sẽ thấy cái nào tiện hơn liền.

Nói chung cổng COM ảo không có nghĩa là phải biến con PIC18F14K50 cầu nối giữa máy tính và con MCU khác thông qua USB. Giả sử 1 ứng dụng đơn giản như điều khiển đèn LED. Mở Terminal lên và gõ LEDA ON -> Chân RB0 xuất mức 1, gõ GET ADC0 , gởi về dữ liệu từ kênh ADC 0 ...

Bạn để ý những ưu điểm của PIC18F14K50, bạn có thể dùng nó để thiết kế ứng dụng cho mình một cách tiện nhất

kimhuynguyen 13-08-2009 05:38 PM

Kết hợp 2 đề tài:
USB2UART + Uart2Ethernet --> USB2Ethernet

Không biết có khả thi và kinh tế không nhỉ?

phamminhtuan 13-08-2009 05:57 PM

Trích:

Nguyên văn bởi kimhuynguyen (Post 28614)
Kết hợp 2 đề tài:
USB2UART + Uart2Ethernet --> USB2Ethernet

Không biết có khả thi và kinh tế không nhỉ?

Khả thi, hoàn toàn có thể ghép nối 2 module này với nhau, nhưng ... dùng luôn cái card ethernet của máy tính cho rồi

jackiele 13-08-2009 07:00 PM

Trích:

Nguyên văn bởi phamminhtuan (Post 28610)
Bạn không thể dùng con PL2303Hx một mình, trong khi nếu như ứng dụng của bạn là đo lường bằng máy tính chẳng hạn, một con PIC18F14K50 với cảm biến nữa là ok rồi. Giả sử với ứng dụng trên, bạn dùng PL2303Hx + 8051 + ADC + cảm biến sẽ thấy cái nào tiện hơn liền.

Nói chung cổng COM ảo không có nghĩa là phải biến con PIC18F14K50 cầu nối giữa máy tính và con MCU khác thông qua USB. Giả sử 1 ứng dụng đơn giản như điều khiển đèn LED. Mở Terminal lên và gõ LEDA ON -> Chân RB0 xuất mức 1, gõ GET ADC0 , gởi về dữ liệu từ kênh ADC 0 ...

Bạn để ý những ưu điểm của PIC18F14K50, bạn có thể dùng nó để thiết kế ứng dụng cho mình một cách tiện nhất

Đúng rồi thì mình đã bảo là dùng 18F14K50 cho thiết bị giao tiếp máy tính qua USB thì rẽ hơn mà.
Nhưng nếu dùng nó như thiết bị chuyên chuyển USB qua UART thì theo mình là không khả thi.

Mình cũng đang muốn dùng 18F14K50 làm thiết bị giao tiep USB đọc giá trị đồng hồ so của Mitoyo lên máy tính.
Nếu các bạn có ý tưởng gần giống mình thì 18F14K50 sẽ được dùng phổ biến hơn.

Chúc vui!

falleaf 14-08-2009 07:52 AM

Trích:

Nguyên văn bởi jackiele (Post 28616)
Đúng rồi thì mình đã bảo là dùng 18F14K50 cho thiết bị giao tiếp máy tính qua USB thì rẽ hơn mà.
Nhưng nếu dùng nó như thiết bị chuyên chuyển USB qua UART thì theo mình là không khả thi.

Mình cũng đang muốn dùng 18F14K50 làm thiết bị giao tiep USB đọc giá trị đồng hồ so của Mitoyo lên máy tính.
Nếu các bạn có ý tưởng gần giống mình thì 18F14K50 sẽ được dùng phổ biến hơn.

Chúc vui!

Bạn đừng hiểu làm USB2COM là một đầu phải cắm vào USB, một đầu còn lại cắm vào UART/COM.

Lưu ý rằng PIC USB nói chung, cho phép ta làm 2 công việc:
- Giao tiếp bằng USB thực, có nghĩa là thiết bị được máy tính nhận ra là một thiết bị USB.
- USB2COM ở đây, là máy tính nhận ra thiết bị đó như một cổng COM ảo. Khi đó người lập trình điều khiển chỉ điều khiển thiết bị đó với phần mềm được viết cho cổng COM ảo (những thiết bị cũ, phần mềm cũ), hoặc những người chưa quen lập trình giao tiếp USB trên máy tính, hoàn toàn có thể sử dụng.
- Việc đầu ra của thiết bị là cổng COM, hay là thiết bị điều khiển, LED, nút bấm, cảm biến, ADC,.... là do lựa chọn của người dùng.

Như vậy, đối với các thiết bị chip chuyên dụng, nó chỉ làm được 1 việc:
- COM ảo trên máy tính
- Đầu ra thiết bị là cổng COM

Trong khi đó, với PIC, ta có thể làm rất nhiều tổ hợp:
a) USB thực, đầu bên kia ta truyền dữ liệu tùy ý qua UART/COM (vd: truyền dữ liệu giữa 2 máy tính, một máy tính cắm USB thực, một máy tính nối vào UART của PIC)
b) USB thực, đầu bên kia ta điều khiển gì tùy ý, giao thức nào tùy ý (thiết bị điều khiển từ xa cho máy tính chẳng hạn)
c) USB thành COM ảo, đầu bên kia là COM (cái này giống chip chuyên dụng, chip chuyên dụng chỉ làm được duy nhất việc này)
d) USB thành COM ảo, đầu bên kia điều khiển thiết bị tùy ý, giao thức tùy ý (thiết bị điều khiển từ xa cho máy tính, nhưng người lập trình không cần quan tâm giao tiếp USB, họ làm việc với cổng COM ảo như một cổng COM bình thường)

Giải pháp của R&P ở đây là biến USB thành COM ảo, để những người làm lập trình trên máy tính làm được bất kỳ những gì người ta muốn với cách làm y hệt như với cổng COM trước đây, mà không cần tìm hiểu thêm về USB.

Các bạn đừng hiểu lầm USB2COM là sản phẩm một đầu là USB, một đầu là cổng COM.

Chúc vui

falleaf 14-08-2009 08:00 AM

Mục đích của dự án này, đó là làm sao giúp nhà thiết kế giảm thiểu được thời gian nghiên cứu, đọc hiểu những thứ về USB quá nhiều và quá tốn kém thời gian.

Khi có nhu cầu về sản phẩm, họ có thể nhanh chóng đưa ra được sản phẩm ra thị trường.

Chúc vui

phucthinhel 14-08-2009 12:31 PM

Con này mình thấy củng rất là hay . Bên RP có hàng không vậy mình chạy qua lấy 2 con về chơi thử HID thui . Còn nếu mà có PCB chuyển đổi gì đó thì mình qua mua luôn . À cho mình hỏi bên đó cái dự án Enthernet - RS232 con đó có pcb không mình cũng muốn mua !

falleaf 14-08-2009 02:00 PM

Trích:

Nguyên văn bởi phucthinhel (Post 28629)
Con này mình thấy củng rất là hay . Bên RP có hàng không vậy mình chạy qua lấy 2 con về chơi thử HID thui . Còn nếu mà có PCB chuyển đổi gì đó thì mình qua mua luôn . À cho mình hỏi bên đó cái dự án Enthernet - RS232 con đó có pcb không mình cũng muốn mua !

Dự án USB2COM là dự án mới, nên chưa làm thành bo mạch thành phẩm, sẽ làm sớm thôi. Nếu bạn nào thấy mình có khả năng làm mạch in thì có thể R&P sẽ tiêu thụ giúp (nếu muốn).

Dự án UART2Ethernet thì khoảng 10 ngày nữa mới có bo mạch cho phiên bản mới. Hiện nay phiên bản cũ làm với con 18F67J60, dung lượng lớn, và hơi dư thừa. R&P đang cho tối ưu code để chuyển đổi sang PIC18F66J65, dung lượng tối ưu hơn. Khi đó, nếu ai dùng 67J60 thì cũng có thể sử dụng được cho phiên bản này, nếu ai không cần chỉnh sửa code để thực hiện các công việc khác thì sử dụng 66J65 cũng vừa đủ.

Bo mạch hoàn toàn giống nhau, vì chân của hai loại này hoàn toàn tương thích.

Chúc vui

ngocphuc1076116 04-10-2009 06:15 PM

các bài viết quá hay. Em cảm ơn tất cả mọi người.

seaking7641 17-02-2010 10:22 AM

Em vẫn không hiểu, cái schematic của anh Tuấn đầu nào nối với usb và đầu nào nối với cổng COM? Xin anh chỉ bảo

0903579509 17-02-2010 12:01 PM

Trích:

Nguyên văn bởi seaking7641 (Post 33637)
Em vẫn không hiểu, cái schematic của anh Tuấn đầu nào nối với usb và đầu nào nối với cổng COM? Xin anh chỉ bảo

J10 : USB
J9 : com
Thân!


Múi giờ GMT. Hiện tại là 03:12 AM.

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