PDA

View Full Version : USB có khủng khiếp như bạn nghĩ không?


bien_van_khat
16-06-2006, 06:49 PM
Mục đích:
Chỉ có 1 mục đích duy nhất viết 1 firmware đơn giản nhất đến mức có thể cho 18F4550, đủ để nó enumerate + truyền nhận 1 vài gói dữ liệu nhỏ.

Bạn nên đọc:
+USB 2.0 spec ít nhất là chương 8, 9, 10
+USB complete chương 1, 2, 3, 4, 5, 6
+Nên đọc thêm USB design by example, USB in a nutshell.

Bạn cũng cần:
+Ít nhất 1 con 18F4550, 2550, 2455 hoặc 4455
+Mạch điện như sơ đồ đính kèm. Chú ý, vì USB hoạt động ở tốc độ cao, bạn nên sắp xếp để cái USB header hoặc điểm nối giữa cable USB vào board mạch của bạn càng gần con PIC càng tốt. Nếu bạn làm trên test board thì đặc biệt chú ý không để 2 dây nối vào đường D+ và D- chéo nhau.


------------------

16-4-2008: Microchip đã cho ra các dòng chip tích hợp usb embeded host + usb on-the-go, cùng với framework mới để hỗ trợ, các bạn quan tâm có thể tham khảo ở đây

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2651&param=en534494

bien_van_khat
16-06-2006, 07:06 PM
Sau khi có phần cứng bạn có thể nạp ngay cái firmware đính kèm dưới đây để chạy thử.

Firmware bên dưới được sửa từ firmware của microchip bới Mat admin của site www.piccoder.co.uk. Tuy nhiên để chạy được cái chương trình trên máy tính bạn cần .NET framework 1.1 (source code = C#)

Bây giờ là vấn đề chính

Làm việc với USB tôi thấy có 2 điểm khó:
1. Chuẩn USB rất rất phức tạp, USB2.0 spec dài 650 trang, USB complete hơn 500 trang. Tất nhiên để thực hiện được như mục đích đề ra từ đầu bạn cần đọc ít trang hơn nhiều. Bạn hầu như không thể nhớ hết nổi thứ tự của các quá trình, do đó lúc này bạn cần 1 tài liệu tham khảo nhanh, khuyên bạn nên có cuốn "USB in a nutshell" (http://beyondlogic.org/)
2. Rất khó debug, nếu phần cứng của bạn enumerate sai hầu như không có cách gì để debug, trừ khi bạn có 1 thiết bị debug phần cứng giá tính = ngàn dollar.

bien_van_khat
16-06-2006, 07:46 PM
Giao thức USB được thực hiện qua nhiều lớp, lớp thấp nhất do module USB (SIE) thực hiền, công việc của bạn là xử lý các yêu cầu dưới dạng các cờ do SIE bật mà thôi.
Để có đầy đủ các cờ bạn tham khảo datasheet. Thực tế bạn cần xử lý ít nhất 2 sự kiên sau:
+RESET (cờ URSTIF): host yêu cầu device reset, bạn bắt buộc thực hiện reset không được cãi. Reset đưa tất cả các enpoint từ 1 - 15 về trạng thái disable, riêng EP0 thiết lập thành control EP. Công việc này được thực hiện với các BUFFER DESCRIPTOR (BD) (xem datasheet).
Xóa thanh ghi UADDR về 0 (thanh ghi USB address). Xóa sạch 4 thanh ghi USB status (USTAT) (coi datasheet chỗ này).
+Transaction complete (TRNIF): Công việc nằm ở đây.
. Xác định xem EP nào vừa xong, từ đó xác định BD nào chứa dữ liệu mới nhận được
. Dựa vào BD.status xác định loại TOKEN vừa được yêu cầu: SETUP, IN, OUT?

bien_van_khat
16-06-2006, 08:13 PM
+SETUP TOKEN: cụ thể xem spec
. Xác định loại REQUEST: tối thiểu phải xử lý standard_request.

+STANDARD_REQUEST: Tối thiểu phải xử lý 2 request sau:
GET_DESCRIPTOR, SET_ADDRESS

+SET_ADDRESS: cụ thể xem Spec

+GET_DESCRIPTOR: Tối thiểu bạn phải send DEVICE_DESCRIPTOR và CONFIGURATION_DESCRIPTOR.

vậy bạn send dữ liệu như thế nào khi host yêu cầu?

Ví dụ nó yêu cầu DEVICE_DESCRIPTOR (trong quá trình enumerate bằng GET_DESCRIPTOR request với descriptor type = 1), bạn đưa 8 byte đầu của DEVICE_DESCRIPTOR vào bộ đệm của EP0 (cụ thể coi datasheet phần BUFFER DESCRIPTOR), đảo bit kiểm tra DATA0 - DATA1 nếu cần, set bit UOWN (SIE own buffer descriptor). SIE tự trả lời dùm bạn. Sau khi host nhận được 8 byte nó có thể gửi tiếp 1 IN TOKEN yêu cầu "chưa đủ tui muốn nữa", và bạn phải tiếp tục đẩy dữ liệu vào, đảo bit kiểm tra DATA0 - 1, set UOWN, là dữ liệu lại đi tiếp.

Nếu host muốn gửi dữ liệu cho bạn? nó sẽ gửi 1 OUT TOKEN.

Quá trình enumerate ko sử dụng OUT TOKEN, dữ liệu bạn nhận được đều được đính kèm trong SETUP TOKEN. Vì vậy OUT TOKEN chỉ xày ra sau khi enumerate thành công, trong quá trình truyền nhận dữ liệu thông thường. Khi có 1 OUT TOKEN bạn xác định ở trên EP nào, sau đó nhận dữ liệu ở bộ đệm tương ứng, đảo bit kiểm tra DATA0 - 1, xử lý dữ liệu.

bien_van_khat
16-06-2006, 08:41 PM
DATA0 và DATA1: cụ thể xem spec.

Đây là chỗ rất rắc rối, và khó hiểu, nhưng nói chung bạn chú ý điểm này

Gói dữ liệu đầu tiên đi kèm SETUP TOKEN luôn luôn là DATA0, và phase dữ liệu bạn đáp trả bắt buộc là DATA1 ko cần quan tâm tới phase dữ liệu cuối của SETUP TOKEN là DATA0 hay DATA1. Nói cách khác trên EP0 khi xảy ra SETUP TOKEN thì chu trình bị reset lại từ đầu (bạn bắt buộc phải ngừng mọi công việc để xử lý cái TOKEN này, và gói dữ liều đầu tiên mà bạn nhận hoặc sẽ phải gửi là hoàn toàn biết trước loại nào).


Vì tôi viết bài này hơi có 1 chút ... hứng nên một số điểm đưa ra không có dẫn chứng. Tuy nhiên mục tiêu nhắm tới là để mọi người cùng thảo luận để có 1 tut thật dẽ hiểu cho 1 vấn đề rất phức tạp.

Toàn bộ bài viết ko hề giải thích bất kỳ khái niệm nào về giao thức USB mà chỉ nhấn vào 1 mục đích: viết firmware cho 18F4550 phải làm những gì. Do đó để có thể thảo luận hiệu quả bạn nên đọc những e-book mà tôi giới thiệu, tránh những câu hỏi như "DATA0 là gì?" - xin lỗi nhé bạn nên tự tìm hiểu tự hơn!!!

falleaf
16-06-2006, 10:22 PM
Chân thành cảm ơn các bài viết của bienvankhat.

Có lẽ từ đây chúng ta sẽ có nhiều điều hay để thảo luận về USB với PIC, vì mọi người sẽ bắt đầu thử nghiệm những gì bạn cung cấp.

Chúc vui.

ntc
17-06-2006, 12:43 PM
Em có thấy anh bien_van_khat bên diễn đàn USB của Microchip. :D

Trong giai đoạn sắp tới, em sẽ có cơ hội tiếp xúc và làm việc với USB, hy vọng sẽ có nhiều vấn đề để trao đổi với anh.

Em cũng có ý định tương tự như anh sau giai đoạn này, đó là một tut cực kì đơn giản về USB, nhưng anh làm trước rồi. :D

bien_van_khat
17-06-2006, 09:34 PM
hì hì, chính xác thì chưa làm xong mà. Mọi người mà ko góp tay thì chẳng bao giờ xong.

Hỏi trên microchip vừa nhanh vừa được trả lời kỹ, nhưng nếu mình hỏi "ngu" quá nó lại ko thèm trả lời. Đành chịu, nên kiếm anh em thảo luận thì vui hơn.

doianhve
18-06-2006, 11:49 AM
Bạn muốn làm USB của 18f2455/18f24550... thì chẳng có gì khó cả.Chỉ cần có bản CCS bản quyền (Có chứa trong đĩa ICD2) là có ngay ví dụ cho firmware.Cố gắng đọc , sửa và chèn mã code là chạy ngon.Tôi làm cách này chạy ầm ĩ .Dùng hai phần mềm sau để TEST.USBio_demo hay WinDriver.(Chúng có khả năng tự sinh mã code nguồn VB hoặc VC++).Nếu bạn là sinh vien ĐHBKHN nếu cần mang USB đến chỗ tôi,tôi sẽ cho bạn các phần mềm đó.Nhưng phải gửi Mail trước.
why1884@yahoo.com
Chúc bạn thành công.

bien_van_khat
18-06-2006, 01:17 PM
Vậy hay quá, sao bạn ko up lên mạng đi. Jungo WinDriver 8.01 thì tôi có rồi, có cả crack nhưng chưa giới thiệu cho anh em, vì tôi nghĩ chưa phải lúc. Còn CCS C như bạn nói thì chưa có. Nếu có thể bạn tạo file ISO cái đĩa của bạn, nén lại, rồi chia nhỏ sau đó upload lên rapidshare.com để mọi người cùng tải về, chứ rất nhiều người không ở Hà Nội cũng muốn được xài. Nếu bạn có host khác nhanh hơn thì càng tốt.

falleaf
18-06-2006, 02:58 PM
Cứ là hoạt động chia sẻ, picvietnam sẽ hỗ trợ host cho các bạn làm việc. Hoàn toàn không có vấn đề gì.

Chúc vui

ntc
21-06-2006, 07:10 PM
Không biết hôm nay mình đọc được cái chữ USB mắc dịch bao nhiêu lần.

:mad:

Nhức đầu quá.

Hehe, nhưng cũng có một số manh mối rồi.

Bang chủ thông cảm, em đang đóng cửa tu luyện USB, nên không có nhiều thời gian cho diễn đàn lắm.

Sẽ cố gắng viết cho PIC bang một cái TUT về USB.

Lại là cái chữ USB mắc dịch.

:mad:

ntc
21-06-2006, 07:11 PM
Anh "doianhve" chia xe cho tụi em một mớ công cụ đi chớ.

Chờ anh bữa giờ.

:D

solua
19-07-2006, 04:13 PM
Cám ơn bien_van_khat
đệ cũng đang lam USB. Connect vao ổ cứng(ATA) lấy dữ liệu ma làm mãi vẫn vướng.

bien_van_khat
19-07-2006, 09:20 PM
Trước đây khá lâu tớ có thử giao tiếp với cái ổ cứng 2G cũ của tớ. Phần khó nhất là truy xuất file trên trên FAT16. Tính viết một tập các hàm để truy xuất file, nhưng mà phức tạp quá + với ko có thời gian đầu tư cho nó nên đành bỏ ngõ.

pham_dinh_hung83
20-07-2006, 09:07 PM
cac bac cu noi hoai ve USB.VAY bac nao lam duoc cai nao hoan chinh day do cho anh em di ,en dc hoai may cai tai lieu cac bac dua thay mu qua ,co le tai em mau len nao cham,bac bien_van_khat cho y kien di chu

pham_dinh_hung83
20-07-2006, 09:07 PM
cac bac cu noi hoai ve USB.VAY bac nao lam duoc cai nao hoan chinh day do cho anh em di ,en dc hoai may cai tai lieu cac bac dua thay mu qua ,co le tai em mau len nao cham,bac bien_van_khat cho y kien di chu

bien_van_khat
21-07-2006, 01:13 AM
Này nhé, để bắt đầu, bạn kiếm 1 con PIC USB 2.0 như 18F2455, 2550, 4455, 4550, về lắp mạch phát triển. Xong nạp firmware có sẵn của microchip chạy thử để đảm bảo là mạch của bạn ok. Sau đó bạn có thể tự viết firmware cho riêng bạn = c18 chẳng hạn, nếu ko có thể dùng thư viện có sẵn của CCS C (cái này dùng cực kỳ dễ so với xây dựng từ con số 0) để phát triển ứng dụng.

Một cái khó gặp phải khi bạn tự viết firmware là debug, bạn hầu như ko thể biết firmware của bạn sẽ hoạt động hay ko, cho tới khi bạn đã viết 1 đống code, mà lúc này thì cực kỳ khó để dò lỗi.

Ý định của tôi chỉ là thảo luận cùng các bạn để tạo thành 1 tut chứ ko phải tôi viết tut, vì kiến thức tôi còn lỗ chỗ, nhiều thành viên khác đã làm về vấn đề này, chẳng qua tôi chỉ là người kêu gọi mà thôi, hơn nữa tôi cũng ko có nhiều thời gian dành cho diễn đàn.

Lúc ban đầu khi bắt đầu tìm hiểu, tôi cũng đã lục tung internet để kiếm tut nhưng hoàn toàn ko có (hoặc tìm ko ra). Cuối cùng tôi bắt đầu bằng cách phân tích code mẫu để giải thích những gì tôi đọc được từ usb spec, tiếp theo là hỏi, hỏi rất nhiều, ở cả nhiều nơi, nhiều câu giờ nghĩ lại tôi thấy chuối vô cùng (vì ko đọc kỹ mà). Đến giờ tôi nhận định thật ra USB phức tạp chứ ko khó, do đó nếu bạn muốn tìm hiểu nó bạn nên bắt đầu, và những thành viên ở picvietnam đã biết ít nhiều sẽ sẵn sàng giúp bạn nếu có thể.

dohoangnam
21-07-2006, 11:49 AM
Tôi thấy USB này thực sự khó, các anh em nào làm rồi làm ơn chia sẻ kinh nghiệm quý báu cho mọi người nhé! Cảm ơn các anh em nhiều!!!
Thân.

dohoangnam
21-07-2006, 11:53 AM
Tôi có dự định làm thử 1 con ổ USB Flash khoảng 64 MB. Không biết có quá khó khăn không nhỉ. Chip thì đương nhiên là PIC, còn Flash có thể là NAND. Anh em nào có thể giúp tôi với, hay cùng tôi làm vậy!

Ngoc Du
21-07-2006, 07:44 PM
Tôi có dự định làm thử 1 con ổ USB Flash khoảng 64 MB. Không biết có quá khó khăn không nhỉ. Chip thì đương nhiên là PIC, còn Flash có thể là NAND. Anh em nào có thể giúp tôi với, hay cùng tôi làm vậy!
Chào bạn Nam
Bạn làm thử nghiệm về USB là điều rất quý (hiện nay cái khoản giao tiếp này có vẻ ít người theo đuổi). Nhưng mình xin góp ý thế này. Một đề tài sẽ có ý nghĩa hơn nếu sau khi ta thực hiện thì ngoài việc nắm được kiến thức cho bản thân, cái sản phẩm của đề tài nó có khả năng thương mại hóa hay ít ra là nó có thể gần với thực tiễn để có thể áp dụng vào trong một số sản phẩm khác. Nếu làm một ổ USB thì tuy cũng có thể làm phần lưu trữ cho một vài ứng dụng song nó sẽ khó có hy vọng thương mại hóa khi bạn dùng PIC bởi sản phẩm bạn làm ra chắc chắn sẽ có giá thành đắt gấp mấy lần cái USB 64M mà ta mua ngoài thì trường. Bạn nên đi theo hướng làm các thiết bị đo lường, điều khiển kết nối với PC qua cổng USB thì sẽ thực tế hơn. Hiện nay chuẩn USB đã định nghĩa lớp thiết bị đo lường vì thế nếu làm loại thiết bị này thì có khả năng (chỉ là có khả năng thôi đó) bỏ qua khâu viết driver cho thiết bị. Việc không phải viết driver cho thiết sẽ làm giảm gánh nặng với một người mới nghiên cứu về USB, mình nghĩ là như vậy.
Về tài liệu thì mình có thể gửi cho bạn bản dịch một phần của hai cuốn USB specification và USB complete do mình dịch, có thể là không đúng lắm hoặc khó hiểu song mình tin là nếu mới tìm hiểu về USB thì nó sẽ giúp bạn nắm được một vài thuật ngữ của USB. Thế nhé, nếu thấy cần thì cho mình địa chỉ email mình gửi cho.

bachelor1979
21-07-2006, 08:28 PM
Chào bạn Nam
Bạn làm thử nghiệm về USB là điều rất quý (hiện nay cái khoản giao tiếp này có vẻ ít người theo đuổi). Nhưng mình xin góp ý thế này. Một đề tài sẽ có ý nghĩa hơn nếu sau khi ta thực hiện thì ngoài việc nắm được kiến thức cho bản thân, cái sản phẩm của đề tài nó có khả năng thương mại hóa hay ít ra là nó có thể gần với thực tiễn để có thể áp dụng vào trong một số sản phẩm khác. Nếu làm một ổ USB thì tuy cũng có thể làm phần lưu trữ cho một vài ứng dụng song nó sẽ khó có hy vọng thương mại hóa khi bạn dùng PIC bởi sản phẩm bạn làm ra chắc chắn sẽ có giá thành đắt gấp mấy lần cái USB 64M mà ta mua ngoài thì trường. Bạn nên đi theo hướng làm các thiết bị đo lường, điều khiển kết nối với PC qua cổng USB thì sẽ thực tế hơn. Hiện nay chuẩn USB đã định nghĩa lớp thiết bị đo lường vì thế nếu làm loại thiết bị này thì có khả năng (chỉ là có khả năng thôi đó) bỏ qua khâu viết driver cho thiết bị. Việc không phải viết driver cho thiết sẽ làm giảm gánh nặng với một người mới nghiên cứu về USB, mình nghĩ là như vậy.
Về tài liệu thì mình có thể gửi cho bạn bản dịch một phần của hai cuốn USB specification và USB complete do mình dịch, có thể là không đúng lắm hoặc khó hiểu song mình tin là nếu mới tìm hiểu về USB thì nó sẽ giúp bạn nắm được một vài thuật ngữ của USB. Thế nhé, nếu thấy cần thì cho mình địa chỉ email mình gửi cho.
Bạn có thể post bản dịch lên diễn đàn được ko ? Để mọi người cùng dùng. Tôi cũng đang muốn tìm hiểu về USB, nếu có thể bạn hãy gửi bản dịch cho tôi theo địa chỉ: vivabachelor@yahoo.com , xin cảm ơn trước !

ntc
22-07-2006, 11:08 PM
Oạch.

Dịch cả hai cuốn USB Complete và USB specification?

Bó tay.

:D.

Bạn có thể up lên host free của PICVIETNAM mà.

Còn về vấn đề tìm hiểu USB theo qui trình như thế nào, mình có một vài ý kiến như thế này:

Các bước tiến hành:

Bước 1: nắm môt số khái niệm cơ bản (endpoint, pipe, descriptor, qui trình kết nối, các dạng truyền... )

Bước 2: kiếm một cái firmware có sẵn, sau đó đọc cho bằng hiểu cái firmware đó được viết như thế nào.

Bước 3: vào www.comvon.com để hiểu thêm về thư viện dll và cách sử dụng thư viện "mpusbapi.dll".

Bước 4: dựa vào các hàm trong thư viện "mpussbapi.dll" để xây dựng chương trình ứng dụng trên máy tính.

Có lẽ đây là các bước tìm hiểu đơn giản nhất.

Theo mình thì lúc nào cũng phải kè kè cuốn "USB specification" mới được. Chú ý cái phần protocol, phải nắm được nó tương đối kĩ.

Ngoc Du
23-07-2006, 01:58 AM
Oạch.

Dịch cả hai cuốn USB Complete và USB specification?

Bó tay.



Mình đâu có thừa hơi mà đi dịch hết cả hai cuốn USB Complete và USB specification. Mình đã nói là chỉ dịch một phần thôi mà (kết hợp với một vài tài liệu khác). Cái đó nếu mình học để biết thì thường mình cũng chẳng dịch để làm gì, đọc hiểu cho nhàn thân, lí do là phải gõ phần lý thuyết về USB vào đồ án nên mình mới dịch. Mà mình nói thật với mọi người là nếu có đọc tài liệu dịch thì chỉ là đọc tham khảo thôi, đọc để lấy vài cái khái niệm khái quát, đọc để hiểu qua loa. Chứ muốn làm sản phẩm giao tiếp USB thì phải đọc nguyên gốc bản tiếng Anh của nó (đọc tiếng Việt dễ bị tam sao thất bản lắm).
Cái tình tự nghiên cứu về USB mà ntc nêu ra ở trên thì mình thấy cũng hợp lý rồi chỉ xin bổ xung với mọi người một điều thế này để mọi người có thể nhanh chóng cho ra sản phẩm USB. Mình thấy nghiên cứu về USB thì có một phần mà mình cho là rất quan trọng đó là các lớp thiết bị được định nghĩa. Phần này sẽ giúp ta hình dung ra sản phẩm của mình sẽ trao đổi dữ liệu với host bằng kiểu truyền gì? Dùng loại điểm cuối nào? Định dạng của gói dữ liệu ra sao? Có cần phải viết driver cho sản phẩm hay không? có phải viết phần mềm ứng dụng trên host hay không?...Tuy phần này quan trọng như vậy song trong USB specification lại gần như không đả động đến còn USB complete thì dành nhiều thời gian để nói về lớp có ứng dụng mạnh nhất là lớp HID (Human Interface Device). Chính vì vậy để làm sản phẩm USB thì hai trang web sau nên là địa chỉ thăm hỏi thường xuyên của mọi người: www.usb.org ; www.lvr.com . Một chút xíu nữa muốn góp ý là nếu ai định dùng chip USB có lõi vi điều khiển họ MCS51 thì nên đọc cuốn USB Design by Example còn nếu không dùng chíp họ này thì cũng không cần đọc quyển đó làm gì cho mất thời gian.
Có một điều an ủi để mọi người tự tin tìm hiểu USB là chíp USB có khá nhiều chủng loại. Có loại thì chỉ là một bộ USB transceiver và một tập các thanh ghi để cho một con vi điều khiển nào đó truy cập điều khiển nó. Vi điều khiển có thể giao tiếp với USB tranceiver bằng rất nhiều chuẩn phổ biến như I2C , parallel. Có loại thì là vi điều khiển hỗ trợ giao tiếp USB (loại này là đa dạng phong phú lắm đấy). Ngoài ra với những ai chỉ có mục đích truyền một mảng dữ liệu lên máy tính chủ (host) sau đó trên máy tính có phần mềm để nhận, gửi và xử lí dữ liệu thì lại không cần nắm rõ chuẩn USB lắm đâu, chỉ cần mua con FT232BM chẳng hạn (con này thấy bảo hàng Mai Khanh có bán với giá 85k thì phải) sau đó tập trung vào khâu viết phần mềm trên máy tính thôi còn phần từ vi điều khiển hướng lên thì thành RS232 mất rồi. Chíp USB không chỉ nhiều chủng loại như mình vừa nói mà đi kèm với mỗi con chíp đó bạn còn được chăm sóc đến tận chân răng. Nói túm lại là có rất nhiều sample code, application notes, rồi có khi là cả những Project ngon lành chỉ việc đem về mà tham khảo. Các project này nó còn hướng dẫn tỉ mỉ là nếu áp dụng vào trường hợp của mình thì có thể phải sửa phần nào và tận dụng được phần nào. Chính vì vậy anh em cứ tự tin mà làm thôi!

ntc
23-07-2006, 03:43 PM
Mình thấy nghiên cứu về USB thì có một phần mà mình cho là rất quan trọng đó là các lớp thiết bị được định nghĩa. Phần này sẽ giúp ta hình dung ra sản phẩm của mình sẽ trao đổi dữ liệu với host bằng kiểu truyền gì? Dùng loại điểm cuối nào? Định dạng của gói dữ liệu ra sao? Có cần phải viết driver cho sản phẩm hay không? có phải viết phần mềm ứng dụng trên host hay không?...Tuy phần này quan trọng như vậy song trong USB specification lại gần như không đả động đến còn USB complete thì dành nhiều thời gian để nói về lớp có ứng dụng mạnh nhất là lớp HID (Human Interface Device).

Về định nghĩa device, các vấn đề này cũng được đề cập đó chứ bạn. Nó nằm trong cái phần nói về các descriptor. Các descriptor sẽ là cơ sở để định nghĩa các lớp device. Tuy nhiên, nếu chỉ đọc trong cuốn "USB specification" thì khó mà hình dung ra được các vấn đề, thậm chí không hiểu được nó đang nói về cái gì nữa. Cái này, nếu đọc hiểu một firmware có sẵn, thì sẽ hình dung rõ ràng hơn, coi thử cái firrmware nó định nghĩa như thế nào, mình học theo để làm thì sẽ dễ dàng hơn. Mình nghĩ là như vậy.

Về định dạng của gói dữ liệu, chắc chắn tài liệu nào cũng sẽ đề cập. Ý của bạn muốn nói định dạng gói dữ liệu cho mục đích sử dụng? Cái đó sẽ tùy theo ứng dụng của mình để xây dựng cho phù hợp. Gói dữ liệu phục vụ cho mục đích ứng dụng sẽ phải có được sự thống nhất giữa chương trình trên máy tính (nếu có) và firmware.

USB Comlpete thì đưa ra các ví dụ về ứng dụng sơ sài quá, đúng là chỉ tập trung vào HID, mà mình thấy cũng chẳng đâu vào đâu. Trong khi USB specification thì tập trung nhiều vào việc mô tả USB, và phải nói là thực sự hết sức chi tiết.

Nếu chỉ dựa vào hai cuốn này thì việc xây dựng một ứng dụng USB cũng còn rất mơ hồ. Mình chọn cách tiếp cận các ứng dụng đã có sẵn, và dựa vào các tài liệu này để giải thích, và tìm hiểu tại sao ứng dụng lại được xây dựng như vầy, như vầy, firrmware tại sao lại viết như vầy, như vầy, ... từ đó các vấn đề về USB dần dần hiện lên rõ ràng hơn, và việc xây dựng các ứng dụng sẽ thuận lợi hơn.

Sau đó, nếu thích, có thể viết lại firmware, viết lại driver, ... Lúc đó các kiến thức đã được liên kết lại với nhau, và dễ tiến hành hơn.

bien_van_khat
25-07-2006, 01:13 AM
He he, bất cứ tài liệu nào mà có thêm cái đuôi là specification thì chỉ đáng dùng để tra cứu, nó quá đầy đủ + cô đọng tới mức chẳng biết sử dụng thông tin trong đó làm sao.


Nếu chỉ dựa vào hai cuốn này thì việc xây dựng một ứng dụng USB cũng còn rất mơ hồ. Mình chọn cách tiếp cận các ứng dụng đã có sẵn, và dựa vào các tài liệu này để giải thích, và tìm hiểu tại sao ứng dụng lại được xây dựng như vầy, như vầy, firrmware tại sao lại viết như vầy, như vầy, ... từ đó các vấn đề về USB dần dần hiện lên rõ ràng hơn, và việc xây dựng các ứng dụng sẽ thuận lợi hơn.

Giống tui :D, mất cả buổi ngồi xóa từng dòng code để rút ra được những đoạn code mấu chốt.

Sau đó, nếu thích, có thể viết lại firmware, viết lại driver, ... Lúc đó các kiến thức đã được liên kết lại với nhau, và dễ tiến hành hơn.

Tuy nhiên tui ko hề có ý định viết driver, dù tui viết chương trình nhiều hơn thiết kế board :D. Theo ý tui, tốt nhất nên chọn HID hoặc dùng driver open source như tui giới thiệu (cẩn thận nếu xài cái này, nó theo giấy phép GNU).

Ngoc Du
01-08-2006, 02:12 AM
Bạn có thể up lên host free của PICVIETNAM mà.

Mình đã up lên host của Tailieuvietnam tài liệu nói sơ lược về USB. Các bạn có thể download tại: http://tailieuvietnam.net/download/upload/NgocDu/So luoc ve usb.rar

ntc
01-08-2006, 02:04 PM
Bạn thử up lại xem sao. Mình không thấy tài liệu của bạn trên host.

Cũng muốn đọc tài liệu của bạn, nếu được, mình sẽ cùng nhau thảo luận về USB từ các tài liệu này, cho nó cụ thể hơn một chút.

Ngoc Du
01-08-2006, 07:20 PM
Bạn thử up lại xem sao. Mình không thấy tài liệu của bạn trên host.

Cũng muốn đọc tài liệu của bạn, nếu được, mình sẽ cùng nhau thảo luận về USB từ các tài liệu này, cho nó cụ thể hơn một chút.

Minh Up lên rồi nhưng vừa rồi vào xem lại thì thấy thư mục của mình bị xóa. Không rõ là vì lí do gì? Mình đã up lại rồi. Bạn có thể down về bằng link ở bài viết ngay trên của mình.

pham_dinh_hung83
20-09-2006, 01:14 AM
các bác ơi AD 4550 qua HID dùng vb ngon lành,kết quả hiện thị dạng số
bây giờ vẽ nó dạng đồ thị hiện sóng trên vb6.o thế nào đây
bác biển vẫn khát chỉ giáo tiếp nhé,cảm ơn bác về lời chỉ giáo lần trước nhé

bien_van_khat
20-09-2006, 10:57 AM
Ý bạn là dùng VB để vẽ đồ thị từ các giá trị mà bạn nhận được đúng không? Nếu đúng thế thì bạn tham khảo file này nhé.

pham_dinh_hung83
20-09-2006, 09:37 PM
cám ơn bác nhiều nhe,tốt quá rồi,nhờ bác cả đó,bác ở đâu e còn hậu tạ,ko thì cho số điện thoại đi,em có 1 chút này muốn hỏi bác tiếp: em muốn đưa kết quả đo đấy vào 1 cơ sở dữ liệu dung chung cho nhiều chương trình
, ví dụ matlap để phân tích furie nó chẳng hạn thì tham khảo ở đâu hở bác

bien_van_khat
20-09-2006, 10:10 PM
Hì tớ ko biết matlab, nhưng hình như là muốn làm vậy bạn chỉ cần lưu dữ liệu lấy được vào 1 file text theo 1 định dạng của matlab, sau đó load số liệu đó vào 1 biến, rồi dùng biến đó mà phân tích.

Tớ ko rõ là matlab có chơi được với MSACCESS, MSQL, hay đại loại mấy hệ quản trị CSDL thông dụng đó hay ko. Vì nếu bạn muốn lưu vào đó thì dễ ợt, cuốn sách nào về lập trình lại ko nói về kết nối CSDL.

NTVinh
21-09-2006, 09:53 AM
Anh em ơi, ai có giải pháp gì cho việc cách ly cổng truyền thông USB không vậy? Vấn đề là những con cách ly kiểu 4N35... thì nó không chịu nổi với tốc độ truyền thông cao.

pham_dinh_hung83
21-09-2006, 09:44 PM
có giải pháp rồi cảm ơn bác bvk nhé, bác ở hà nội à,ở đâu vậy

thanhlam171
23-11-2006, 09:40 PM
Cac bac oi,em dang nghien cứu về giao tiếp giữa 2 máy tính bằng cổng USB.Các bác cho em tai liệu nói về USB voi.Em đang rất cần...rất cảm ơn các bác.

ntc
27-11-2006, 11:35 AM
http://www.picvietnam.com/forum//showthread.php?t=422

:)

tranhuyky
01-12-2006, 10:50 AM
Mình đã up lên host của PICVIETNAM tài liệu nói sơ lược về USB. Các bạn có thể download tại: http://picvietnam.com/download/upload/Ngoc Du/So_luoc_ve_USB2.0.rar

Bạn ơi, bạn có thể upload lên lại, hay gởi cho mình file này được không. tranhuyky@yahoo.com. cám ơn bạn nhiều nha.

Ngoc Du
02-12-2006, 03:18 AM
Bạn ơi, bạn có thể upload lên lại, hay gởi cho mình file này được không. tranhuyky@yahoo.com. cám ơn bạn nhiều nha.

link mới http://tailieuvietnam.net/download/upload/NgocDu/So luoc ve usb.rar

PARABOL
17-01-2007, 12:45 AM
mình biết về giao tiếp usb bằng easyHID thì nhiều người làm được sao không post lên cho anh em chưa biết học tập.

giaosucan
17-01-2007, 03:13 PM
Chào bạn Nam
Bạn làm thử nghiệm về USB là điều rất quý (hiện nay cái khoản giao tiếp này có vẻ ít người theo đuổi). Nhưng mình xin góp ý thế này. Một đề tài sẽ có ý nghĩa hơn nếu sau khi ta thực hiện thì ngoài việc nắm được kiến thức cho bản thân, cái sản phẩm của đề tài nó có khả năng thương mại hóa hay ít ra là nó có thể gần với thực tiễn để có thể áp dụng vào trong một số sản phẩm khác. Nếu làm một ổ USB thì tuy cũng có thể làm phần lưu trữ cho một vài ứng dụng song nó sẽ khó có hy vọng thương mại hóa khi bạn dùng PIC bởi sản phẩm bạn làm ra chắc chắn sẽ có giá thành đắt gấp mấy lần cái USB 64M mà ta mua ngoài thì trường. Bạn nên đi theo hướng làm các thiết bị đo lường, điều khiển kết nối với PC qua cổng USB thì sẽ thực tế hơn. Hiện nay chuẩn USB đã định nghĩa lớp thiết bị đo lường vì thế nếu làm loại thiết bị này thì có khả năng (chỉ là có khả năng thôi đó) bỏ qua khâu viết driver cho thiết bị. Việc không phải viết driver cho thiết sẽ làm giảm gánh nặng với một người mới nghiên cứu về USB, mình nghĩ là như vậy.
Về tài liệu thì mình có thể gửi cho bạn bản dịch một phần của hai cuốn USB specification và USB complete do mình dịch, có thể là không đúng lắm hoặc khó hiểu song mình tin là nếu mới tìm hiểu về USB thì nó sẽ giúp bạn nắm được một vài thuật ngữ của USB. Thế nhé, nếu thấy cần thì cho mình địa chỉ email mình gửi cho.
đúng thế ,ko nên làm những cái mà nhiều người đã làm

txmvt4
09-02-2007, 02:13 AM
Các bác à!
Em đã load được EasyHID rồi. Khi chạy chương trình thi sinh ra 2 môđul: 1 được viết bằng VB ở trên máy tính ; còn 1 phần được viết ở trên con PIC thì được viêt bằng ngôn ngữ PicBasicPro. Hiện em đã thu thập được cơ số tua nói về việc sử dụng EasyHID, nhưng chỉ còn 1 cái đó là : chưa có bản PicBasicPro để viết cho pic USB cả. Chỉ load được mấy bản DEMO PicBasicPro vớ vẩn thôi.Dùng thấy bực cả mình. Em biết chính xác là đã có người làm được nó rồi.Thì chắc là phải có chứ. Nếu ai có thì pot lên cho anh em học hỏi với có được không?
A mà còn hàm : mpusbapi.dll dùng thế nào vậy. Có ai biết hướng dẫn về cách sử dụng nó không? Bằng VB hoặc DelPhi thì càng tốt.

txmvt4
09-02-2007, 02:33 AM
Các bác à!
Em đã load được EasyHID rồi. Khi chạy chương trình thi sinh ra 2 môđul: 1 được viết bằng VB ở trên máy tính ; còn 1 phần được viết ở trên con PIC thì được viêt bằng ngôn ngữ PicBasicPro. Hiện em đã thu thập được cơ số tua nói về việc sử dụng EasyHID, nhưng chỉ còn 1 cái đó là : chưa có bản PicBasicPro để viết cho pic USB cả. Chỉ load được mấy bản DEMO PicBasicPro vớ vẩn thôi.Dùng thấy bực cả mình. Em biết chính xác là đã có người làm được nó rồi.Thì chắc là phải có chứ. Nếu ai có thì pot lên cho anh em học hỏi với có được không?
A mà còn hàm : mpusbapi.dll dùng thế nào vậy. Có ai biết hướng dẫn về cách sử dụng nó không? Bằng VB hoặc DelPhi thì càng tốt.

txmvt4
09-02-2007, 03:47 AM
Trông có được không?
Nhiều tính năng : xuất led; Pwm; ADC; ca xuất mã ascii nữa.

panda
29-03-2007, 04:07 PM
mạch của bác là như thế nào vậy! nó xuất ra led hay điều khiển pwm như thế nào

mocde_vn
13-10-2007, 08:40 PM
Mình đang định làm đề tài giao tiếp usb. Nghe các bạn nói có 2 phần mềm là jango và CCS, mong các bạn nói rõ tên. Mình mới nhận đề tài nên chưa tìm hiểu. Hơi noob mong các bạn chỉ dẫn thêm

mocde_vn
13-10-2007, 08:42 PM
Có bạn nào có link down cuốn USB example mà đẹp đẹp ko. Link trên mạng toàn của sách scan ra hình xấu quá. Mình đang định in ra đọc mà xấu thế ko biết làm sao in.

tiendungkct
14-11-2007, 05:07 PM
BẠN NGỌC DU BẠN CO THỂ GỬI TÀI LIỆU CHO MÌNH ĐƯỢC O? MÌNH KO DƠN DC
BẠN GỬI WA: TIENDUNGKCT@YAHOO.COM
THANKS

cuongth
15-04-2008, 02:26 AM
Thấy các bác nói về USB em cũng mao muội xin hỏi 1 câu. Đọc trên em thấy các bác toàn thấy USB kết nối với máy tính, bây giờ em muốn kết nối thẳng bàn phím USB vào mạch có chứa giao tiếp USB thì phải làm thế nào giả sử dùng để gõ máy ký tự rồi hiển thị lên LCD chẳng hạn, mong các cao thủ chỉ giáo

namqn
15-04-2008, 02:34 AM
Thấy các bác nói về USB em cũng mao muội xin hỏi 1 câu. Đọc trên em thấy các bác toàn thấy USB kết nối với máy tính, bây giờ em muốn kết nối thẳng bàn phím USB vào mạch có chứa giao tiếp USB thì phải làm thế nào giả sử dùng để gõ máy ký tự rồi hiển thị lên LCD chẳng hạn, mong các cao thủ chỉ giáo
Việc này còn khó khăn hơn là kết nối bàn phím đó với máy tính nữa. Vì USB là một giao tiếp dựa vào host, do đó nếu bạn nối bàn phím vào một mạch điện thì mạch điện đó phải là host, vì bàn phím là ngoại vi rồi. Không may là hiện nay rất ít các vi mạch được chế tạo với chức năng làm host trong giao tiếp USB (tất nhiên vẫn có chứ tôi không nói là hoàn toàn không có). Chỉ một vài vi mạch có thể tự mình thực hiện chức năng của host, trong khi máy tính nào cũng là host nếu nó có cổng USB.

Thân,

cuongth
19-04-2008, 03:24 AM
Cái vi mạch có chức năng làm host đó là gì hả bác. Em đang làm cái đề tài mà nghĩ cũng nản, tìm tài liệu toàn là giao tiếp với máy tính

namqn
19-04-2008, 04:55 AM
Cái vi mạch có chức năng làm host đó là gì hả bác. Em đang làm cái đề tài mà nghĩ cũng nản, tìm tài liệu toàn là giao tiếp với máy tính
Một số vi mạch có chức năng embedded USB host controller:
- VNC1L Vinculum của FTDI Chips
- Các EZ-Host Programmable Embedded USB Host and Peripheral Controller (CY7C67300) của Cypress Semiconductor
- MAX3421E của Maxim Dallas

Các chip của FTDI Chips và Cypress Semiconductor có sẵn một lõi xử lý bên trong chip bên cạnh USB host controller, còn chip của Maxim Dallas chỉ là USB host controller, giao tiếp với vi điều khiển thông qua chuẩn SPI.

Ngoài ra, bạn cũng có thể tìm hiểu các chip USB On-The-Go (OTG), là các vi mạch có thể chuyển đổi chức năng qua lại giữa bộ điều khiển ngoại vi (peripheral controller) và bộ điều khiển host (host controller). CY7C67300 của Cypress Semiconductor hỗ trợ OTG.

Thân,

chipbe
08-05-2008, 05:49 PM
Chào bạn Nam
Bạn làm thử nghiệm về USB là điều rất quý (hiện nay cái khoản giao tiếp này có vẻ ít người theo đuổi). Nhưng mình xin góp ý thế này. Một đề tài sẽ có ý nghĩa hơn nếu sau khi ta thực hiện thì ngoài việc nắm được kiến thức cho bản thân, cái sản phẩm của đề tài nó có khả năng thương mại hóa hay ít ra là nó có thể gần với thực tiễn để có thể áp dụng vào trong một số sản phẩm khác. Nếu làm một ổ USB thì tuy cũng có thể làm phần lưu trữ cho một vài ứng dụng song nó sẽ khó có hy vọng thương mại hóa khi bạn dùng PIC bởi sản phẩm bạn làm ra chắc chắn sẽ có giá thành đắt gấp mấy lần cái USB 64M mà ta mua ngoài thì trường. Bạn nên đi theo hướng làm các thiết bị đo lường, điều khiển kết nối với PC qua cổng USB thì sẽ thực tế hơn. Hiện nay chuẩn USB đã định nghĩa lớp thiết bị đo lường vì thế nếu làm loại thiết bị này thì có khả năng (chỉ là có khả năng thôi đó) bỏ qua khâu viết driver cho thiết bị. Việc không phải viết driver cho thiết sẽ làm giảm gánh nặng với một người mới nghiên cứu về USB, mình nghĩ là như vậy.
Về tài liệu thì mình có thể gửi cho bạn bản dịch một phần của hai cuốn USB specification và USB complete do mình dịch, có thể là không đúng lắm hoặc khó hiểu song mình tin là nếu mới tìm hiểu về USB thì nó sẽ giúp bạn nắm được một vài thuật ngữ của USB. Thế nhé, nếu thấy cần thì cho mình địa chỉ email mình gửi cho.
bác ngọc du có thể gửi cho em tài liệu về USB được ko?
thanks !
em đang rất cần!
mail của em:duchieu0401@gmail.com

chipbe
08-05-2008, 06:17 PM
Em đang rất cần tài liệu về giao thức USB bằng tiếng Việt! Bác nào đã dịch quyển "USB in a nutshell" hoặc "USB complete" thì share cho em. Em đang cần gấp lắm!Cám ơn các bác trước!bác gửi vào mail giúp em:duchieu0401@gmail.com

hopeman
28-05-2008, 11:53 AM
có ai biết công cụ nào để đo tốc độ truyền dữ liệu qua USB HID ko chỉ mình với .

hopeman
30-05-2008, 11:45 AM
trước đây mình dùng thạch anh 20M thì cắm vào cái là nó nhận ra chuẩn HID ngay, giờ mình thay bằng thạch anh 48M nhằm mục đích chạy nhanh hơn thì USB HID ko nhận ra nữa, có ai giải thích giúp mình với? mình cấu hình ban đầu như sau :
#define USB_USE_FULL_SPEED TRUE
#include <18F4550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CP UDIV1,VREGEN
#use delay(clock=48000000)

liệu có gì sai ở đây ko nhể vì thực sự mình ko hiểu cái đám cấu hình này lắm, nếu phải sửa thì sửa như thế nào để mạch với ta 48M chạy được?

namqn
30-05-2008, 06:31 PM
trước đây mình dùng thạch anh 20M thì cắm vào cái là nó nhận ra chuẩn HID ngay, giờ mình thay bằng thạch anh 48M nhằm mục đích chạy nhanh hơn thì USB HID ko nhận ra nữa, có ai giải thích giúp mình với? mình cấu hình ban đầu như sau :
#define USB_USE_FULL_SPEED TRUE
#include <18F4550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CP UDIV1,VREGEN
#use delay(clock=48000000)

liệu có gì sai ở đây ko nhể vì thực sự mình ko hiểu cái đám cấu hình này lắm, nếu phải sửa thì sửa như thế nào để mạch với ta 48M chạy được?
Khi dùng thạch anh 20 MHz với cấu hình trên thì USB module đã làm việc ở full-speed, và CPU của PIC đã chạy ở clock = 48 MHz.

Bạn xem hình 2-1 trong datasheet của PIC18F4550 về thông tin chi tiết. Với cấu hình đã có, những thông tin liên quan đến clock như sau:
HSPLL - dùng thạch anh tần số cao, cho phép bộ PLL hoạt động
USBDIV - clock cho USB lấy từ ngõ ra của PLL chia cho 2
PLL5 - ngõ vào PLL là tần số của thạch anh chia cho 5
CPUDIV1 - clock hệ thống bằng ngõ ra của PLL chia cho 2

Vậy, với thạch anh 20 MHz, ngõ vào của PLL là 20/5 = 4 MHz (yêu cầu bắt buộc nếu muốn sử dụng PLL). Tại ngõ ra của PLL là 96 MHz, clock cho USB module và cho CPU là 96/2 = 48 MHz. Như tôi đã nói ở trên, bạn không cần dùng thạch anh 48 MHz để nâng tốc độ cho CPU, vì nó đã chạy ở tốc độ đó rồi.

Dùng thạch anh 48 MHz mà không thay đổi cấu hình thì PIC không thể hoạt động được.

Thân,

quocdungk27
19-06-2008, 08:47 AM
Nghe các bác bàn luận về giao tiếp USB sôi nổi quá, tớ cũng đang tìm hiểu bác nào có tài liệu "USB in a nutshell" và "USB complete" hay những tài liệu khác liên quan đến giao tiếp usb gửi giúp cho tớ với, thanks so much! much! much!
My email: quocdungk27@gmail.com
Chờ mail các bác!

namqn
19-06-2008, 08:02 PM
Nghe các bác bàn luận về giao tiếp USB sôi nổi quá, tớ cũng đang tìm hiểu bác nào có tài liệu "USB in a nutshell" và "USB complete" hay những tài liệu khác liên quan đến giao tiếp usb gửi giúp cho tớ với, thanks so much! much! much!
My email: quocdungk27@gmail.com
Chờ mail các bác!
"USB in a nutshell" có ở post #2 của luồng sau:
http://www.picvietnam.com/forum//showthread.php?t=467

Về "USB Complete", nó là sách có bản quyền, do đó bạn tự tìm trên mạng. Bạn tự thân vận động một chút đi, ai cũng yêu cầu gửi tài liệu qua email thì làm sao hoạt động có hiệu quả.

Thân,

lion
19-06-2008, 10:25 PM
bác nam ơi bác có bài lập trình thiết lập cho cổng USB của PIC ko nếu có thì post lên cho anh em học tập với

namqn
20-06-2008, 12:42 AM
bác nam ơi bác có bài lập trình thiết lập cho cổng USB của PIC ko nếu có thì post lên cho anh em học tập với
Microchip và mikroElektronika đã có nhiều ví dụ về sử dụng module USB của PIC. Những người thích dùng sẵn nên sử dụng các ví dụ này.

Những người có ý định tìm hiểu nghiêm túc về USB thì nên đọc những tài liệu đã được đề cập đến nhiều lần. Một điều rất quan trọng cần xác định ngay từ đầu: giao tiếp USB hoàn toàn khác với các giao tiếp thông thường như RS-232 hay cổng song song (máy in). Các cổng RS-232 hay LPT của máy tính đều có các thanh ghi điều khiển, thanh ghi dữ liệu để chúng ta thao tác, với chức năng của từng thanh ghi, chức năng của từng chân giao tiếp đã được định nghĩa sẵn. Còn USB là một giao thức, việc giao tiếp ra sao hoàn toàn do host và ngoại vi trao đổi và thống nhất. Cổng USB chỉ là một bus vật lý để ngoại vi nối với host, nó hoàn toàn không có địa chỉ, không có thanh ghi điều khiển hay thanh ghi dữ liệu như các loại cổng khác.

Do đó, với giao tiếp USB thì ngay cả bài toán đơn giản nhất là làm sao cho ngoại vi hoàn tất quá trình enumeration cũng đòi hỏi khối lượng công việc bằng khoảng 95% so với một ứng dụng giao tiếp USB hoàn chỉnh. Công việc này khó khăn nhưng không khủng khiếp với những người chịu khó tìm hiểu. Tuy nhiên, những ai muốn viết vài dòng ăn ngay thì chỉ có cách chỉnh sửa lại các code mẫu (đã được cung cấp khá nhiều trên mạng).

Những gì tôi có thể cung cấp cho các bạn cũng chỉ là một code mẫu, không khác với những code mẫu đã được cung cấp từ Microchip hay mikroElektronika. Vì vậy, tôi sẽ không làm việc này.

Thân,

vdt
24-08-2008, 01:56 AM
"USB in a nutshell" có ở post #2 của luồng sau:
http://www.picvietnam.com/forum//showthread.php?t=467

Về "USB Complete", nó là sách có bản quyền, do đó bạn tự tìm trên mạng. Bạn tự thân vận động một chút đi, ai cũng yêu cầu gửi tài liệu qua email thì làm sao hoạt động có hiệu quả.

Thân,

Của bạn đây: http://www.4shared.com/file/60165915/82f7a384/USB_Complete_3rdEdition.html
Chúc vui

ThieuQP
03-01-2009, 12:53 AM
Chào bạn Nam
Bạn làm thử nghiệm về USB là điều rất quý (hiện nay cái khoản giao tiếp này có vẻ ít người theo đuổi). Nhưng mình xin góp ý thế này. Một đề tài sẽ có ý nghĩa hơn nếu sau khi ta thực hiện thì ngoài việc nắm được kiến thức cho bản thân, cái sản phẩm của đề tài nó có khả năng thương mại hóa hay ít ra là nó có thể gần với thực tiễn để có thể áp dụng vào trong một số sản phẩm khác. Nếu làm một ổ USB thì tuy cũng có thể làm phần lưu trữ cho một vài ứng dụng song nó sẽ khó có hy vọng thương mại hóa khi bạn dùng PIC bởi sản phẩm bạn làm ra chắc chắn sẽ có giá thành đắt gấp mấy lần cái USB 64M mà ta mua ngoài thì trường. Bạn nên đi theo hướng làm các thiết bị đo lường, điều khiển kết nối với PC qua cổng USB thì sẽ thực tế hơn. Hiện nay chuẩn USB đã định nghĩa lớp thiết bị đo lường vì thế nếu làm loại thiết bị này thì có khả năng (chỉ là có khả năng thôi đó) bỏ qua khâu viết driver cho thiết bị. Việc không phải viết driver cho thiết sẽ làm giảm gánh nặng với một người mới nghiên cứu về USB, mình nghĩ là như vậy.
Về tài liệu thì mình có thể gửi cho bạn bản dịch một phần của hai cuốn USB specification và USB complete do mình dịch, có thể là không đúng lắm hoặc khó hiểu song mình tin là nếu mới tìm hiểu về USB thì nó sẽ giúp bạn nắm được một vài thuật ngữ của USB. Thế nhé, nếu thấy cần thì cho mình địa chỉ email mình gửi cho.

Em chào anh!
Em gặp được chủ đề USB trên diễn đàn hay quá, vì em đang có dự định làm đồ án tốt nghiệp về một vấn đề j đó liên wan đến USB. Vậy em xin anh tài liệu về USB như anh đã giới thiệu được không a?
Em cảm ơn anh nhiều!
ThieuQP@Gmail.com

vdtk3
03-01-2009, 04:56 PM
Bạn vào trang www.lvr.com có nhiều tài liệu về giao tiếp máy tính.

hung_nguyen
03-01-2009, 06:51 PM
một tài liệu chắc có thể giúp ích cho bạn
http://dientuvietnam.net/forums/showthread.php?t=20513
chúc bạn thành công. thân

lethanhhaibk
23-06-2009, 03:29 PM
Chào bạn Nam
Bạn làm thử nghiệm về USB là điều rất quý (hiện nay cái khoản giao tiếp này có vẻ ít người theo đuổi). Nhưng mình xin góp ý thế này. Một đề tài sẽ có ý nghĩa hơn nếu sau khi ta thực hiện thì ngoài việc nắm được kiến thức cho bản thân, cái sản phẩm của đề tài nó có khả năng thương mại hóa hay ít ra là nó có thể gần với thực tiễn để có thể áp dụng vào trong một số sản phẩm khác. Nếu làm một ổ USB thì tuy cũng có thể làm phần lưu trữ cho một vài ứng dụng song nó sẽ khó có hy vọng thương mại hóa khi bạn dùng PIC bởi sản phẩm bạn làm ra chắc chắn sẽ có giá thành đắt gấp mấy lần cái USB 64M mà ta mua ngoài thì trường. Bạn nên đi theo hướng làm các thiết bị đo lường, điều khiển kết nối với PC qua cổng USB thì sẽ thực tế hơn. Hiện nay chuẩn USB đã định nghĩa lớp thiết bị đo lường vì thế nếu làm loại thiết bị này thì có khả năng (chỉ là có khả năng thôi đó) bỏ qua khâu viết driver cho thiết bị. Việc không phải viết driver cho thiết sẽ làm giảm gánh nặng với một người mới nghiên cứu về USB, mình nghĩ là như vậy.
Về tài liệu thì mình có thể gửi cho bạn bản dịch một phần của hai cuốn USB specification và USB complete do mình dịch, có thể là không đúng lắm hoặc khó hiểu song mình tin là nếu mới tìm hiểu về USB thì nó sẽ giúp bạn nắm được một vài thuật ngữ của USB. Thế nhé, nếu thấy cần thì cho mình địa chỉ email mình gửi cho.

anh có thể gửi bản dịch cho em nghiên cứu dc không. anh gửi vào lethanhhaibk@gmail.com cho em nhé. cảm ơn anh nhiều

average_1986
02-07-2009, 06:57 AM
mình đã up lên host của tailieuvietnam tài liệu nói sơ lược về usb. Các bạn có thể download tại: http://tailieuvietnam.net/download/upload/ngocdu/so luoc ve usb.rar

link die roi. Pac up lai giup duoc khong? Thanks

tkpro
02-07-2009, 04:42 PM
cac anh e dien dan cho e hoi ty. Gia su e lap thach anh tren mach dao dong cua pic (pic 18F4550) la 8 Mhz va e muon cho no hoat dong o che do full speed trong giao tiep usb, dong thoi pic hoat dong de doc va ghi du lieu o tan so cao nhat co the thi e nen cau hinh nhu the nao? cam on anh e truoc.

Chú ý: Bạn phải gõ có dấu, nếu không sẽ bị xóa bài

bien_van_khat
03-07-2009, 11:23 AM
cac anh e dien dan cho e hoi ty. Gia su e lap thach anh tren mach dao dong cua pic (pic 18F4550) la 8 Mhz va e muon cho no hoat dong o che do full speed trong giao tiep usb, dong thoi pic hoat dong de doc va ghi du lieu o tan so cao nhat co the thi e nen cau hinh nhu the nao? cam on anh e truoc.

Tùy vào trình dịch sử dụng nếu sử dụng C18

#pragma config FOSC = HSPLL_HS
#pragma config PLLDIV = 2
#pragma config CPUDIV = OSC1_PLL2


Nếu sử dụng CCS C

#fuses HSPLL, PLL2, CPUDIV2, USBDIV

[/code]

thaithien
02-08-2009, 03:25 AM
Em đã nạp được firmware và máy tính đã nhận.Dùng chương trình tạo sẵn của Windriver để kiểm tra kết nối,và send vài dữ liệu được rồi nhưng vẫn chưa hiểu lắm.Bây giờ em muốn làm một cái như thế này :viết một chương trình giao tiếp trên máy tính (bằng vb6 hoặc VC6 hoặc Vb.hôặc VC.net) gồm các ô check box tương ứng với các port b của PIC.Khi ô được check thì led nối với box đó sẽ sáng.Em đang tìm hiểu nhưng gặp rất nhiều khó khăn.Các anh đi trước gợi mở cho em vài ý tưởng được không ?
Em xin cảm ơn !!!

bien_van_khat
03-08-2009, 09:40 AM
Em đã nạp được firmware và máy tính đã nhận.Dùng chương trình tạo sẵn của Windriver để kiểm tra kết nối,và send vài dữ liệu được rồi nhưng vẫn chưa hiểu lắm.Bây giờ em muốn làm một cái như thế này :viết một chương trình giao tiếp trên máy tính (bằng vb6 hoặc VC6 hoặc Vb.hôặc VC.net) gồm các ô check box tương ứng với các port b của PIC.Khi ô được check thì led nối với box đó sẽ sáng.Em đang tìm hiểu nhưng gặp rất nhiều khó khăn.Các anh đi trước gợi mở cho em vài ý tưởng được không ?
Em xin cảm ơn !!!

Mình không sử dụng windriver. Nhưng ý tưởng chung là trên windows mọi thứ đều là file và do đó có thể mở bằng hàm CreateFile, truy xuất bằng WriteFile hoặc ReadFile.

Các driver như microchip generic driver, HID, winusb đều cung cấp cơ chế truy xuất thiết bị qua các hàm file I/O.

Windriver có thể tuơng tự như vậy. Để giao tiếp với driver bạn cần kiểm tra code mẫu trên PC mà nó tạo ra dựa vào đó tìm ra cách truy xuất thiết bị.

Công việc còn lại chỉ còn gửi/nhận vài byte, kiểm tra, đóng mở LED.

tucn87
04-08-2009, 04:14 PM
[/QUOTE]
Về tài liệu thì mình có thể gửi cho bạn bản dịch một phần của hai cuốn USB specification và USB complete do mình dịch, có thể là không đúng lắm hoặc khó hiểu song mình tin là nếu mới tìm hiểu về USB thì nó sẽ giúp bạn nắm được một vài thuật ngữ của USB. Thế nhé, nếu thấy cần thì cho mình địa chỉ email mình gửi cho.[/QUOTE]


Anh Ngọc Du có thể gửi 2 cuốn sách cho em được không? link trên em không down được. Thanks anh!

tucn87@gmail.com

thaithien
04-08-2009, 08:39 PM
Mình đang đọc hai cuốn đó bằng tiếng anh.Cũng tương đối.Vậy bạn cho mình xin đi.Thanks trước nhé.
@anh bien_van_khat :anh giải thích thêm cho em một chút được không ?Em chưa hiểu nguyên lý lắm :giả sử như trên giao diện của chương trình giao tiếp xảy ra sự kiện checked của checkbox thì làm sao có thể bật tắt các led trên các port,làm sao chương trình biết các chân của vi điều khiển.Phải chăng chương trình giao tiếp chỉ thực hiện việc truyền các dữ liệu đến vi điều khiển (các endpoint).Còn việc bật hay tắt led thì là nhiệm vụ của chương trình firmware đã nạp cho endpoint.Chẳng hạn mình sẽ viết thế này có được không :
- Phía endpoint :giả sử khi endpoint nhận từ host giá trị là 34 thì nó sẽ bật led Port_B1,nhận giá trị 35 thì bật led Port_B2...
-Còn phía chương trình giao tiếp thì thế này :khi xảy sự kiện checked ở checkbox thì truyền cho endpoint giá trị 34,35.....
Em nghĩ vậy không biết có đúng không nữa.Anh bien_van_khat chỉ dùm em nghen.Em cảm ơn anh nhiều !!!!

bien_van_khat
04-08-2009, 08:57 PM
@anh bien_van_khat :anh giải thích thêm cho em một chút được không ?Em chưa hiểu nguyên lý lắm :giả sử như trên giao diện của chương trình giao tiếp xảy ra sự kiện checked của checkbox thì làm sao có thể bật tắt các led trên các port,làm sao chương trình biết các chân của vi điều khiển.Phải chăng chương trình giao tiếp chỉ thực hiện việc truyền các dữ liệu đến vi điều khiển (các endpoint).Còn việc bật hay tắt led thì là nhiệm vụ của chương trình firmware đã nạp cho endpoint.Chẳng hạn mình sẽ viết thế này có được không :
- Phía endpoint :giả sử khi endpoint nhận từ host giá trị là 34 thì nó sẽ bật led Port_B1,nhận giá trị 35 thì bật led Port_B2...
-Còn phía chương trình giao tiếp thì thế này :khi xảy sự kiện checked ở checkbox thì truyền cho endpoint giá trị 34,35.....
Em nghĩ vậy không biết có đúng không nữa.Anh bien_van_khat chỉ dùm em nghen.Em cảm ơn anh nhiều !!!!

Đúng, ý tưởng là vậy.

Tuy nhiên, endpoint không phải là các vi điều khiển.

Endpoint (điểm đầu cuối) là khái niệm về logic.

Nếu kết nối giữa thiết bị và host được xem như 1 sợi dây hay 1 đường ống, thì ở mỗi đầu của đường ống đó là các endpoint. Thiết bị hoặc host đọc/ghi vào các đầu của ống.

Đối với USB, các đường ống này là 1 chiều, nên có endpoint OUT và endpoint IN. In hay out là hướng dữ liệu xét từ phía host. Đôi khi người ta cũng gộp 1 cặp EP OUT và EP IN thành 1 cặp và gọi chung là EP.

Một thiết bị có thể có nhiều endpoint. Tuy nhiên EP0 (gồm EP0 OUT + EP0 IN) là bắt buộc, đây là control EP.

Cứ thêm mỗi 1 hoặc 1 cặp EP mới thì thiết bị có thêm 1 interface. Ví dụ với 1 con PIC bạn có thể làm cả chuột và bàn phím.

bien_van_khat
04-08-2009, 10:15 PM
Securing Your USB Transmission, topic của một kỹ sư của Microchip

http://www.embedded.com/design/testissue/218900582?pgno=1

HaiAu2005
23-08-2009, 02:23 PM
Có ai có kinh nghiệm lập trình nhận và xuất dữ liệu qua cổng USB của một bảng USB I/O board đã có Driver (của hãng sản xuất), xem trao đổi ở địa chỉ sau:

http://www.dieukhien.net/vn/discuss.php?thid=3047&pagenum=1

xin trao đổi giùm. Tôi đang muốn dùng Visual Studio/.NET để nhận dữ liệu và xuất dữ liệu tới bảng giao diện USB đã nạp driver (có file dll) rồi liệu có thể được không?

Hải Âu

falleaf
23-08-2009, 08:41 PM
Có ai có kinh nghiệm lập trình nhận và xuất dữ liệu qua cổng USB của một bảng USB I/O board đã có Driver (của hãng sản xuất), xem trao đổi ở địa chỉ sau:

http://www.dieukhien.net/vn/discuss.php?thid=3047&pagenum=1

xin trao đổi giùm. Tôi đang muốn dùng Visual Studio/.NET để nhận dữ liệu và xuất dữ liệu tới bảng giao diện USB đã nạp driver (có file dll) rồi liệu có thể được không?

Hải Âu

Anh Hùng, cái này làm cực kỳ đơn giản, nếu cần thiết anh gửi yêu cầu lên, em nghĩ sẽ có nhà thiết kế làm được cái này cho anh bằng PIC.

Cần có yêu cầu cụ thể hơn.

Chúc vui

HaiAu2005
23-08-2009, 11:14 PM
Nếu Falleap có gửi cho mấy dòng mã làm mẫu giao tiếp hoặc tài liệu nào hướng dẫn ngắn gọn thì tốt. Không/chưa cần làm bằng PIC, chỉ cần chương trình mẫu để sử dụng thiết bị ở Lab thôi. Mình không/chưa có nhu cầu và thời gian làm PIC, hiện tại để phục vụ cho việc phát triển thuật toán điều khiển dùng Driver và USB DAQ Card đã có sẵn thì sẽ nhanh hơn.

Hải Âu

falleaf
24-08-2009, 07:38 AM
Nếu Falleap có gửi cho mấy dòng mã làm mẫu giao tiếp hoặc tài liệu nào hướng dẫn ngắn gọn thì tốt. Không/chưa cần làm bằng PIC, chỉ cần chương trình mẫu để sử dụng thiết bị ở Lab thôi. Mình không/chưa có nhu cầu và thời gian làm PIC, hiện tại để phục vụ cho việc phát triển thuật toán điều khiển dùng Driver và USB DAQ Card đã có sẵn thì sẽ nhanh hơn.

Hải Âu

http://www.icsharpcode.net/OpenSource/SharpUSBLib/default.aspx

Nếu anh muốn tự làm cái này thì anh có thể lên mạng gõ đại một cái USB, nó có hàng đống cái người ta đã làm sẵn.

Cái này em nghĩ anh nên đặt hàng ai đó làm sẽ tốt hơn, vì nếu có code mẫu mà anh làm được thì em nghĩ chắc anh đã làm lâu rồi.

Chúc vui

ngocthanh07
28-08-2009, 12:01 PM
Em thấy các anh dần dần bàn về những điều càng ngày càng to lớn và vượt xa kiến thức bình thường của đa số tụi em.
Cho em hỏi một câu

muốn dùng PIC(PIC nào phù hợp) để mở USB, đọc một file text hoặc tạo và ghi vào một file text thì nên làm những gì.
Phần biệt mấy cái Embeeded USB Host, Stack, Mass Storage, HID ... gì đó như thế nào. Chỉ liên quan đến việc mở và đọc file trên USB bằng cách dùng PIC thôi(không liên quan gì đến máy tính ) thì nên xem tài liệu về phần nào.
Quả thật em thấy cái này thật khủng khiếp. Mong các anh nói vài câu đơn giản định hướng giúp em

bien_van_khat
28-08-2009, 12:56 PM
muốn dùng PIC(PIC nào phù hợp) để mở USB, đọc một file text hoặc tạo và ghi vào một file text thì nên làm những gì.
Phần biệt mấy cái Embeeded USB Host, Stack, Mass Storage, HID ... gì đó như thế nào. Chỉ liên quan đến việc mở và đọc file trên USB bằng cách dùng PIC thôi(không liên quan gì đến máy tính ) thì nên xem tài liệu về phần nào.
Quả thật em thấy cái này thật khủng khiếp. Mong các anh nói vài câu đơn giản định hướng giúp em

Bus USB là bus Master-Slave, trong đó thiết bị điều khiển bus được gọi là USB host. USB host trong PC là full host, với tính năng đầy đủ.

Embedded Host: USB host với các tính năng tối thiểu, chỉ hỗ trợ 1 số thiết bị nhất định.

Sofware Stack: nói chung là 1 mớ các file mã nguồn, các phần mềm hỗ trợ để thực hiện một giao thức gì đó (USB, TCP/IP, Bluetooth, ZigBee...), để dựa trên nền đó bạn phát triển ứng dụng của bạn. Bạn ko cần phải tự code lại toàn bộ phần giao thức của nó.

Mass Storage Device (MSD): là 1 class của USB, các USB flash drive là MSD.

Nếu bạn muốn mở USB Flash Drive, đọc file trên đó thì cần dùng PIC có USB Embedded Host, có thể tham khảo ở đây:
http://forum.microchip.com/usb

Microchip cung cấp miễn phí stack và rất nhiều ví dụ để thực hiện công việc này.

Bạn có thể xem 1 số demo ở đây:

http://www.picvietnam.com/forum/showthread.php?t=3584

ngocthanh07
11-09-2009, 12:07 PM
Nếu bạn muốn mở USB Flash Drive, đọc file trên đó thì cần dùng PIC có USB Embedded Host, có thể tham khảo ở đây:
http://forum.microchip.com/usb

Microchip cung cấp miễn phí stack và rất nhiều ví dụ để thực hiện công việc này.
[/url]

Mình muốn vẽ mạch sử dụng PIC32 để đọc và ghi dữ liệu vào file (Tức là USB Embbedded HOST ?), tham khảo cái
PIC32 USB Starter kit thì thấy nó vẽ sơ đồ như hình đính kèm
Mình muốn hỏi liệu có cần con TPS20X1B (datasheet
http://focus.ti.com/lit/ds/symlink/tps2041b.pdf
)

Nếu cần dùng con đó, thì ở VN có thể mua có không, hoặc nếu không mua có thì có con nào thay thế có thể mua đuợc không ?
Sợ vẽ mạch ra, mua PIC về mà không có con đó cái phải bỏ thì uổng phí.


Mình có tham khảo cái luồng R&P USB Embedded host. http://www.picvietnam.com/forum/showthread.php?t=3584
Trong luồn đó theo sơ đồ R&P vẽ thì đưa thẳng chân VBUS của PIC24 vào chân nguồn của USB rồi nói chúng vào 5V, không hề dùng đến TPS20X1B, liệu với PIC32 mình có thể làm vậy không ?

Thank

bien_van_khat
11-09-2009, 12:55 PM
Mình muốn vẽ mạch sử dụng PIC32 để đọc và ghi dữ liệu vào file (Tức là USB Embbedded HOST ?), tham khảo cái
PIC32 USB Starter kit thì thấy nó vẽ sơ đồ như hình đính kèm
Mình muốn hỏi liệu có cần con TPS20X1B (datasheet
http://focus.ti.com/lit/ds/symlink/tps2041b.pdf
)

Nếu cần dùng con đó, thì ở VN có thể mua có không, hoặc nếu không mua có thì có con nào thay thế có thể mua đuợc không ?
Sợ vẽ mạch ra, mua PIC về mà không có con đó cái phải bỏ thì uổng phí.


Mình có tham khảo cái luồng R&P USB Embedded host. http://www.picvietnam.com/forum/showthread.php?t=3584
Trong luồn đó theo sơ đồ R&P vẽ thì đưa thẳng chân VBUS của PIC24 vào chân nguồn của USB rồi nói chúng vào 5V, không hề dùng đến TPS20X1B, liệu với PIC32 mình có thể làm vậy không ?

Thank

Theo PIC32 Family Reference Manual chân Vbus của PIC luôn luôn phải nối vào chân Vbus trên USB connector .

Ở sơ đồ trên, con TPS20x1B dùng để đóng mở nguồn 5v cấp cho device. Nguồn này được đóng mở bằng chân VUSBON, do module USB host điều khiển.

Trong sơ đồ USB Embedded host của RP, PIC được thiết kế chỉ đóng vai trò là Host do đó nó luôn phải cấp nguồn ra USB connector, nên Vbus của connector luôn nối lên 5v.

Đối với PIC32 USB Starter kit, PIC32 được thiết kế để có thể là Host hoặc là Device do đó nó cần phải có cơ chế để ngắt nguồn cấp ra USB connector khi là device. Ở đây người thiết kế sử dụng 1 con switch, thực chất tương đương 1 con MOSFET.

Do đó:
* Nếu bạn muốn PIC của bạn vừa có thể làm device vừa có thể làm host thì bạn cần đặt 1 cái switch ở chân Vbus của USB Connector. Khi làm host thì đóng, khi làm device thì hở. Switch có thể là jumper hay 1 con FET. Trong trường hợp trên board của bạn không có nguồn 5v. Bạn có thể dùng MCP1253-33X50 để chuyển mức từ 3v3 lên 5v, có khả năng cấp 100mA vừa đủ với spec của USB

* Nếu bạn ko cần device mode, thì nối thẳng nó lên 5v.

vagabondtt1503
21-09-2009, 03:37 PM
Xin được giúp đỡ:

Mình sử dụng source giao tiếp HID bằng C++ tại trang web http://www.lvr.com/hidpage.htm nhưng khi về build bằng visual c++ 2008 thì xuất hiện lỗi

http://www.fileden.com/files/2007/12/10/1636240/errors_1.jpg

sau khi lên google tìm kiếm thì thấy có 1 bài viết hướng dẫn include thêm file wdm.h trong WDK,sau khi thực hiện thì xuất hiện 1 lỗi khác


http://www.fileden.com/files/2007/12/10/1636240/errors_2.jpg



Lỗi này mình không cách nào khắc phục được,tìm kiếm cũng không thấy.Mong mọi người có thể giúp đỡ.Xin cảm ơn


Mình sử dụng:

OS: Window 7 professional
IDE : visual studio 2008 (C++)
WDK:7600.16385.0
SDK : v7.0

Một lần nữa rất mong sự giúp đỡ của mọi người

ToanZ8
23-10-2009, 04:55 PM
trước đây mình dùng thạch anh 20M thì cắm vào cái là nó nhận ra chuẩn HID ngay, giờ mình thay bằng thạch anh 48M nhằm mục đích chạy nhanh hơn thì USB HID ko nhận ra nữa, có ai giải thích giúp mình với? mình cấu hình ban đầu như sau :
#define USB_USE_FULL_SPEED TRUE
#include <18F4550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CP UDIV1,VREGEN
#use delay(clock=48000000)

liệu có gì sai ở đây ko nhể vì thực sự mình ko hiểu cái đám cấu hình này lắm, nếu phải sửa thì sửa như thế nào để mạch với ta 48M chạy được?

#fuses PLL12

HaiAu2005
04-11-2009, 07:48 PM
To bác bqviet: Hồi trước trao đổi trong mục này về bảng giao diện USB, bác bqviet có nhận làm một cái USB I/O board (các nội dung trao đổi đã bị xóa mất tiêu rồi), đã lâu không thấy bác nhắn gì không hiểu tình hình bác thực hiện đến đâu rồi. Bác PM cho tôi hoặc email tới kamome.seagull@gmail.com cho tôi biết chi tiết để tôi nhắn người nhà đến gửi tiền cho bác (chắc có lẽ bác tổng LMĐ của bác không ứng trước?) và nhận hàng chuyển cho tôi.

Lần tới khi có dịp đi VN thế nào cũng phải bố trí thời gian ở HN gặp bác LMĐ và bác dài dài chút.

Hải Âu

chau_2007
27-03-2010, 03:29 AM
Bố cha cái thằng INTEL, phát minh ra cái giao tiếp USB gì mà khó thế. Protocol lằng nhằng, dân IT đọc chưa chắc nổi

NBTrung
10-11-2010, 10:34 AM
http://www.ebook.edu.vn/?page=1.39&view=11009 chắc đây là bản dịch của bác Ngọc Du rồi. Em hiện đang làm nhg khi cắm usb vào PC có hiện tượng PC bị dump. Bác nào có exp chỉ giúp em với, em cảm ơn nhiều!

CHITAIDEPTRAI
29-03-2011, 03:23 AM
em đang làm đồ án về lập trình driver cho cong usb,demo trên webcome bac nào biet thi chỉ cho em với.

trietbuivien
05-10-2011, 09:12 PM
thật sự là cái vấn đề Pic giao tiếp với máy tính này cực kỳ phức tạp. thời gian thì ko co nhiều để đầu tư mà mấy ông thầy cứ bắt sinh viên làm mấy cái đề tài cực kỳ phức tạp. nhức cả đầu. bà con cô bác có tài liệu cho e tham khảo về vần đề này ko?

danghien719
07-10-2011, 07:57 AM
thật sự là cái vấn đề Pic giao tiếp với máy tính này cực kỳ phức tạp. thời gian thì ko co nhiều để đầu tư mà mấy ông thầy cứ bắt sinh viên làm mấy cái đề tài cực kỳ phức tạp. nhức cả đầu. bà con cô bác có tài liệu cho e tham khảo về vần đề này ko?

Thế theo bạn thì SV nên làm gì thì thích hợp ?
Với các thầy Pro thì quá tốt rồi, học hỏi đc kinh nghiệm, còn thầy cũng gà bắt Học Viên nghiên cứu thì cũng tốt, 2 thầy trò cũng học. Tạo được mối đoàn kết như vậy ko tốt hay sao ?

duc_nam
27-10-2012, 12:23 PM
Sau khi có phần cứng bạn có thể nạp ngay cái firmware đính kèm dưới đây để chạy thử.

Firmware bên dưới được sửa từ firmware của microchip bới Mat admin của site www.piccoder.co.uk. Tuy nhiên để chạy được cái chương trình trên máy tính bạn cần .NET framework 1.1 (source code = C#)

Bây giờ là vấn đề chính

Làm việc với USB tôi thấy có 2 điểm khó:
1. Chuẩn USB rất rất phức tạp, USB2.0 spec dài 650 trang, USB complete hơn 500 trang. Tất nhiên để thực hiện được như mục đích đề ra từ đầu bạn cần đọc ít trang hơn nhiều. Bạn hầu như không thể nhớ hết nổi thứ tự của các quá trình, do đó lúc này bạn cần 1 tài liệu tham khảo nhanh, khuyên bạn nên có cuốn "USB in a nutshell" (http://beyondlogic.org/)
2. Rất khó debug, nếu phần cứng của bạn enumerate sai hầu như không có cách gì để debug, trừ khi bạn có 1 thiết bị debug phần cứng giá tính = ngàn dollar.

Em chào anh. Em muốn lập trình giao thức USB nhưng khi em down thử file USb_demo.rar của anh về chạy thì bị báo lỗi: usbdsc.c:241:Warning [2054] suspicious pointer conversion

nó hiện lỗi ở dòng :

rom const unsigned char *rom USB_CD_Ptr[]={&cfg01,&cfg01};
rom const unsigned char *rom USB_SD_Ptr[]={&sd000,&sd001,&sd002};

Anh giải thích giúp em lỗi này là lỗi gì với ạ! Em cảm ơn anh!

imlanglavang102
15-02-2013, 11:47 AM
hi chào các bạn mình đang làm về giao tiếp usb bằng con 18f4550 mà nó hông có chạy
các linh kiện cần chặt chẽ không ?
vả lại chân Vsub đó có yêu cầu là cần thiết phải là tụ hóa không?
và hi anh em nào có thể gửi cho mình một chương trình hoàn chỉnh để mình test mạch
mới làm được theo email
imlang_lavang_102@yahoo.com
(không có .vn nha )

quanghuyk8b
19-05-2014, 11:05 AM
hi chào các bạn mình đang làm về giao tiếp usb bằng con 18f4550 mà nó hông có chạy
các linh kiện cần chặt chẽ không ?
vả lại chân Vsub đó có yêu cầu là cần thiết phải là tụ hóa không?
và hi anh em nào có thể gửi cho mình một chương trình hoàn chỉnh để mình test mạch
mới làm được theo email
imlang_lavang_102@yahoo.com
(không có .vn nha )

chân Vusb phải dùng tụ hóa và thạch anh 20Mhz bạn à.

quanghuyk8b
19-05-2014, 11:07 AM
Có bác nào làm giao tiếp usb vs android k0 cho em hỏi chút: Làm sao để điện thoại có thể nhận thiết bị.
Bác nào biết giúp em với e cảm ơn nhiều :)

supperchon
05-07-2021, 05:01 PM
detenido por venta de viagra en espana (https://www.grupopenascal.com/2020/11/16/detenido-por-venta-de-viagra-en-espana)
precios de viagra cialis y levitra en farmacia (https://www.grupopenascal.com/2020/11/16/precios-de-viagra-cialis-y-levitra-en-farmacia)
opinion compra viagra on.line (https://www.grupopenascal.com/2020/11/16/opinion-compra-viagra-on-line)
cialis 5 mg precio en farmacia del ahorro (https://www.grupopenascal.com/2020/11/16/cialis-5-mg-precio-en-farmacia-del-ahorro)
donde puedo comprar cialis original (https://www.grupopenascal.com/2020/11/16/donde-puedo-comprar-cialis-original)
generico de la viagra en espana (https://www.grupopenascal.com/2020/11/16/generico-de-la-viagra-en-espana)
foro opinion levitra generico (https://www.grupopenascal.com/2020/11/16/foro-opinion-levitra-generico)
cialis 20 mg precio benavides (https://www.grupopenascal.com/2020/11/16/cialis-20-mg-precio-benavides)
compra kamagra online (https://www.grupopenascal.com/2020/11/16/compra-kamagra-online)
venta in situ de cialis generico en farmacias de barcelona (https://www.grupopenascal.com/2020/11/16/venta-in-situ-de-cialis-generico-en-farmacias-de-barcelona)
cenforce en espana (https://www.grupopenascal.com/2020/11/16/cenforce-en-espana)
puedo comprar levitra en espana (https://www.grupopenascal.com/2020/11/16/puedo-comprar-levitra-en-espana)
cialis vademecum precio (https://www.grupopenascal.com/2020/11/16/cialis-vademecum-precio)
comprar sildenafilo 100 mg (https://www.grupopenascal.com/2020/11/16/comprar-sildenafilo-100-mg)
farmacia online cialis generico valencia (https://www.grupopenascal.com/2020/11/16/farmacia-online-cialis-generico-valencia)
levitra 20 mg precio peru (https://www.grupopenascal.com/2020/11/16/levitra-20-mg-precio-peru)
espana cialis sin receta (https://www.grupopenascal.com/2020/11/16/espana-cialis-sin-receta)
fildena 25 (https://www.grupopenascal.com/2020/11/16/fildena-25)
precio en farmacia de sildenafilo actavis 50 mg (https://www.grupopenascal.com/2020/11/16/precio-en-farmacia-de-sildenafilo-actavis-50-mg)
generico de cialis 5 mg (https://www.grupopenascal.com/2020/11/16/generico-de-cialis-5-mg)
que diferencia hay con cialis black y cialis generico (https://www.grupopenascal.com/2020/11/16/que-diferencia-hay-con-cialis-black-y-cialis-generico)
comprar viagra espana farmacia fisica (https://www.grupopenascal.com/2020/11/16/comprar-viagra-espana-farmacia-fisica)
comprar cialis en barcelona (https://www.grupopenascal.com/2020/11/16/comprar-cialis-en-barcelona)
precio viagra india (https://www.grupopenascal.com/2020/11/16/precio-viagra-india)
donds comprar cialis online segfuro (https://www.grupopenascal.com/2020/11/16/donds-comprar-cialis-online-segfuro)
composicion y precio en farmacia de viagra (https://www.grupopenascal.com/2020/11/16/composicion-y-precio-en-farmacia-de-viagra)
tadalafilo mabo 10 mg precio (https://www.grupopenascal.com/2020/11/16/tadalafilo-mabo-10-mg-precio)
tadalafilo combix comprar (https://www.grupopenascal.com/2020/11/16/tadalafilo-combix-comprar)
levitra al mejor precio (https://www.grupopenascal.com/2020/11/16/levitra-al-mejor-precio)
comprar similar a viagra sin receta (https://www.grupopenascal.com/2020/11/16/comprar-similar-a-viagra-sin-receta)
is a 100mg fildena fruit chew (https://www.grupopenascal.com/2020/11/16/is-a-100mg-fildena-fruit-chew)
comprar viagra en espana sin creta (https://www.grupopenascal.com/2020/11/16/comprar-viagra-en-espana-sin-creta)
comprar fildena 100 mg (https://www.grupopenascal.com/2020/11/16/comprar-fildena-100-mg)
comprar viagra importado (https://www.grupopenascal.com/2020/11/16/comprar-viagra-importado)
como comprar viagra sin receta en espana (https://www.grupopenascal.com/2020/11/16/como-comprar-viagra-sin-receta-en-espana)

supperchon
24-07-2021, 12:33 AM
medical estetica granada comprar cialis generico en espana envio rapido (http://fisioterapiapatriciapena.com/2021/01)
comprar cialis vidalista contrareembolso medico rehabilitador (https://fisioterapiapatriciapena.com/portfolio/area-de-osteopatia-y-terapia-craneosacral)
fisioterapia para ciatica entrenador personal granada (http://www.fisioterapiapatriciapena.com/judit_sanchez.html)
genericos de cialis sildenafil 100 mg (http://fisioterapiapatriciapena.com/tag/en-suelo-firme/)
comprar levitra original contrareembolso envio contrareembolso barato (http://fisioterapiapatriciapena.com/la-importancia-de-la-transmision-de-la-vibracion-de-impacto-en-la-periostitis/)
lucia y patricia las mejores bolas chinas (https://fisioterapiapatriciapena.com/)
ejercicios lumbalgia kamagra en gel (http://fisioterapiapatriciapena.com/tag/clinica-sanabria-granada/)
comprar cialis vidalista contrareembolso operacion de prostata e impotencia (https://fisioterapiapatriciapena.com/viagra-24-horas-madrid)
como se colocan las bolas chinas osteopatas en granada (https://fisioterapiapatriciapena.com/comprar-kamagra)
comprar cialis vidalista contrareembolso fractura cabeza del radio (https://fisioterapiapatriciapena.com/cialis-sin-receta)

minh.cdt
14-01-2023, 10:21 AM
https://t.me/pump_upp - best crypto pumps on telegram
Make 1000% and more within 1 day, join channel @pump_upp !