Mạch giao tiếp máy tính qua cổng usb

37 1.1K 4
Mạch giao tiếp máy tính qua cổng usb

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Mạch giao tiếp máy tính qua cổng usb

GVHD: NGUYỄN DUY THẢO CHƯƠNG 1: GIỚI THIỆU USB VÀ PIC 18F4550 I Giới thiệu chung chuẩn USB: Khái niệm USB: USB (Universal Serial Bus) chuẩn kết nối đa dụng máy tính USB sử dụng để kết nối thiết bị ngoại vi với máy tính, chúng thường thiết kế dạng đầu cắm cho thiết bị tuân theo chuẩn cắm-làchạy mà với tính cắm nóng thiết bị (nối ngắt thiết bị không cần phải khởi động lại hệ thống) Các mục tiêu hướng tới sử dụng USB: - Dễ dàng mở rộng thiết bị đầu cuối máy tính Cung cấp giải pháp chi phí thấp song hỗ trợ truyền dẫn tốc độ cao lên đến 480 Mb/s Hỗ trợ ứng dụng thời gian thực như: voice, audio, video, … Giao thức linh hoạt cho chế độ hỗn hợp Tích hợp công nghệ thiết bị tiện nghi Được Windows hệ điều hành khác hỗ trợ không cần driver mức thấp cho thiết bị USB Đa năng, nhiều thiết bị ghép nối với PC thông qua chuẩn USB Độ tin cậy cao Mô tả hệ thống USB: Một hệ thống USB mô tả định nghĩa: - • • • • Kết nối USB Các thiết bị USB USB host Kết nối USB hiểu kiểu kết nối mà thiết bị USB kết nối giao tiếp với máy tính chủ Kết nối USB bao gồm vấn đề sau: Kiến trúc BUS: mô hình kết nối thiết bị USB Host Những mối quan hệ Inter- Layer: dàng tập khả năng, tác vụ USB thực lớp hệ thống Các mô hình luồng liệu là: hình thức mà liệu di chuyển hệ thống USB Lập trình USB: USB cung cấp kết nối dùng chung Việc truy cập tới kết nối MẠCH GIAO TIẾP MÁY TÍNH QUA CỔNG USB TRANG GVHD: NGUYỄN DUY THẢO lập trình theo thứ tụ để hỗ trợ truyền liệu đẳng thời khử xự phân xử ban đầu Kiến trúc BUS: Bus đa nối thiết bị USB với Host USB Về mặt kết nối vật lý USB kiến trúc tầng Một Hub trung tâm đoạn dây kết nối từ điểm tới điểm Host Hub chức đó, Hub nối tới Hub khác chức khác Với bit địa chỉ, máy chủ USB quản lý tối đa 127 thiết bị ngoại vi Hình sau minh hoạ kiến trúc USB  Máy chủ USB: Chỉ có Host hệ thống USB Giao diện USB tới hệ thống máy chủ xem điều khiển Host Bộ điều khiển Host thực kết hợp gồm phần cứng, vi chương trình (firmware) phần mềm Một Hub gốc (root hub) tích hợp hệ thống Host để cung cấp nhiều điểm lắp thêm  Các thiết bị USB: MẠCH GIAO TIẾP MÁY TÍNH QUA CỔNG USB TRANG GVHD: NGUYỄN DUY THẢO Thiết bị USB thiết bị sau: - Hub: cung cấp điểm lắp thêm vào USB - Các chức năng: cung cấp khả cho hệ thống kết nối ISDN, Digital Joystick Speaker - Thiết bị hiểu giao thức USB Cáp USB: USB truyền tín hiệu qua cáp sợi hình Có tốc độ truyền liệu: - USB tốc độ cao (USB high-speed): 480Mb/s - USB toàn tốc (USB full-speed): 12Mb/s - USB tốc độ thấp (USB low-speed): 1.2Mb/s Cáp USB bao gồm dây, D+ D- dùng để truyền tín hiệu, Vbus GND để cấp nguồn cho thiết bị ( Thường Vbus =5V GND=0V nguồn) USB cho phép chiều dài đoạn cáp thay đổi lên tới vài mét Ở phía máy chủ Host D+ D- nối đất qua điện trở Rpd phía thiết bị ngoại vi, đầu dây D+, D- bảo vệ điện trở cuối (đó điện trở Rpu Thiết bị tốc độ cao toàn tốc cần có điện trở nối +3.3 V cho đầu D+, thiết bị tốc độ thấp cần có điện trở nối lên 3.3 V cho đầu D- Những điện trở tạo nên mức điện khác D+ Dgiúp cho máy chủ phát việc cắm vào hay rút thiết bị tốc độ truyền liệu thiết bị II Mô hình luồng liệu USB: Các thành phần việc thực kết nối USB: Việc thực kết nối USB gồm thành phần: - Thiết bị USB vật lý: phần cứng đầu cuối cáp USB thi hành vài chức hữu dụng với người sử dụng Client Software: phần mềm thi hành máy chủ, đáp ứng cho thiết bị USB Phần mềm cung cấp hệ điều hành cung cấp với thiết bị USB MẠCH GIAO TIẾP MÁY TÍNH QUA CỔNG USB TRANG GVHD: NGUYỄN DUY THẢO - - USB System Software: phần mềm hỗ trợ USB hệ điều hành cụ thể Phần mềm hệ thống USB thường cung cấp kèm với hệ điều hành, không phụ thuộc vào thiết bị USB cụ thể USB Host Controller: bao gồm phần cứng phần mềm cho phép thiết bị USB kết nối tới Host Hình sau tương tác số lớp thực thể kết nối đơn giản host thiết bị - USB Bus interface Layer cung cấp kết nối vật lý, gói tin, báo hiệu Host thiết bị - USB Decive Layer cho thấy hệ điều hành hỗ trợ thiết bị USB cần có phần mềm hệ thống để thực việc quản lý thiết bị USB logic - Function Layer cung cấp khả thêm vào cho Host qua phần mềm khách (client software) Chính client software giúp thể chức thiết bị USB Host Bus Topology: - Bus topology có thành phần chính: Host thiết bị: thành phần sơ cấp hệ thống USB Cấu trúc vật lý: cho thấy thành phần USB nối với MẠCH GIAO TIẾP MÁY TÍNH QUA CỔNG USB TRANG GVHD: NGUYỄN DUY THẢO - Cấu trúc logic: cho thấy vai trò trách nhiệm thành phần USB khác USB xuất từ hình phối cảnh Host thiết bị Mối liên quan chức phần mềm khách (client software) 2.1 USB Host: - Kết cấu logic Host hình 2.2 gồm có: Bộ điều khiển Host Phần mềm hệ thống USB gộp chung Phần mềm khách (Client Software) 2.2 Các thiết bị USB: - Kết cấu logic thiết bị USB vật lý hình 2.3 gồm : Giao diện bus USB Thiết bị USB logic Chức - MẠCH GIAO TIẾP MÁY TÍNH QUA CỔNG USB TRANG GVHD: NGUYỄN DUY THẢO Các thiết bị USB vật lý cung cấp chức bổ sung cho Host Các thiết bị USB khác cung cấp chức khác Mặc dù thiết bị USB logíc có nối ghép tới Host giống 2.3 Kiến trúc vật lý (Physical Bus Topology): Kết nối vật lý thiết bị USB thông qua kiến trúc tầng (tiered star topology) hình 2.4 Các điểm nối USB thông qua lớp thiết bị USB đặc biệt hiểu Hub Các điểm nối bổ sung kết nối thông qua Hub gọi cổng Host bao gồm Hub nối với gọi Hub gốc (root hub) Các kết nối thực cổng Hub gốc Các thiết bị cung cấp chức bổ sung cho Host hiểu chức (function) MẠCH GIAO TIẾP MÁY TÍNH QUA CỔNG USB TRANG GVHD: NGUYỄN DUY THẢO 2.4 Kiến trúc Bus Logic: Trong thiết bị vật lý kết nối tới Host theo kiến trúc tầng trình truyền thông Host với thiết bị logic xem kết nối trực tiếp tới cổng gốc (root port) Trong trường hợp thân hub thiết bị logic, hình 2.5 không vẽ hình vẽ đơn giản dễ hiểu 2.5 Mối quan hệ chức phần mềm khách: Trong trình hoạt động, phần mềm khách nên độc lập với thiết bị khác gắn tới USB MẠCH GIAO TIẾP MÁY TÍNH QUA CỔNG USB TRANG GVHD: NGUYỄN DUY THẢO Luồng truyền thông USB: USB cung cấp dịch vụ truyền thông phần mềm Host chức USB Các chức có yêu cầu luồng truyền thông khác cho tương tác client-to-function khác USB cung cấp sử dụng bus toàn diện cách tách luồng truyền thông khác tới chức USB Mỗi luồng truyền thông kết thúc điểm cuối trên thiết bị Điểm cuối thiết bị sử dụng để xác định hướng luồng truyền thông Hình 2.6 thuyết minh cách luồng thông tin truyền qua ống dẫn (đường truyền) điểm cuối nhớ đệm phía Host Phần mềm Host giao tiếp với thiết bị logic qua tập luồng truyền thông Tập luồng truyền thông chọn nhà thiết kế phần cứng/phần mềm để đáp ứng cách có hiệu nhu cầu thiết bị tới đặc tính truyền tải cung cấp USB Các loại truyền liệu USB: USB truyền liệu qua ống dẫn (đường truyền) bên nhớ đệm liên kết với phần mềm khách máy chủ với bên làmột điểm cuối thiết bị USB USB cung cấp dạng truyền tải khác nhauđã tối ưu hoá để đáp ứng cách thích hợp nhu cầu phần mềm khách chức USB cung cấp loại truyền liệu: truyền điềukhiển (control transfer); truyền ngắt MẠCH GIAO TIẾP MÁY TÍNH QUA CỔNG USB TRANG GVHD: NGUYỄN DUY THẢO 4.1 4.2 4.3 4.4 (interrupt transfer); truyền đẳng thời (isochronous transfer) truyền khối (bulk transfer) Truyền điều khiển: Truyền điều khiển truyền theo kiểu hai chiều Loại truyền thường sử dụng để cài đặt thiết bị ngoại vi Giao thức truyền điều khiển bắt đầu giai đoạn thông báo (token stage), giai đoạn liệu (data stage) kết thúc giai đoạn bắt tay (handshake stage) Mọi thiết bị ngoại vi USB phải xử lý loại truyền Truyền ngắt: Truyền ngắt kiểu truyền chiều Loại truyền dùng cho thiết bị ngoại vi bàn phím, chuột, joystick Vì Host ngắt nên ngắt từ thiết bị ngoại vi xử lý vòng đợi Người lập trình hệ thống có nhiệm vụ xử lý vòng đợi Giao thức truyền ngắt khởi động máy chủ (Host) bắt đầu thông báo IN (IN Token) Thiết bị ngoại vi trả lời gói NAK ngắt Trong trường hợp có ngắt thiết bị ngoại vi trả lời gói liệu Khi nhận hết liệu máy chủ trả lời gói ACK liệu lỗi không trả lời có lỗi Nếu bị nghẽn điểm cuối thiết bị ngoại vi, gửi đến máy chủ gói STALL đợi phần mềm hệ thống máy chủ xử lý Truyền đẳng thời: Truyền đẳng thời phương pháp truyền chiều, hướng truyền từ thiết bị ngoại vi máy chủ ngược lại Vì truyền cần hai điểm cuối thiết bị ngoại vi hai đường ống dẫn phần mềm phía máy chủ thiết bị cần dùng kiểu truyền để thông tin chiều Giao thức truyền đẳng thời bắt đầu gói IN OUT từ máy chủ tuỳ thuộc vào hướng truyền loại điểm cuối Ví dụ trường hợp gói IN, thiết bị truyền liệu máy chủ Trong trường hợp OUT, máy chủ tiếp tục cách truyền liệu Truyền đẳng thời không dùng gói bắt tay để thông báo kết truyền nên thông tin bị thất lạc Loại truyền thường dùng cho điệnthoại hay loa Truyền khối: Truyền khối phương pháp truyền chiều Hướng truyền từ điểm cuối máy chủ hay ngược lại Như thiết bị ngoại vi cần hai chiều liệu cần có hai điểm cuối Giao thức truyền khối gồm có giai đoạn: Thông báo, liệu gói bắt tay Nếu thiết bị bị kẹt giai đoạn liệu mà có thông báo bắt tay Dữ liệu truyền qua ống dẫn từ vùng đệm liệu nhớ chương trình tương ứng tới điểm cuối thiết bị ngoại vi MẠCH GIAO TIẾP MÁY TÍNH QUA CỔNG USB TRANG GVHD: NGUYỄN DUY THẢO III Các lớp thiết bị định nghĩa: Các thành phần đặc tả lớp thiết bị: 2.1 2.2 2.3 2.4 Một đặc tả lớp thiết bị định nghĩa số lượng loại điểm cuối bắt buộc tuỳ chọn mà thiết bị lớp có Một đặc tả lớp định nghĩa đặt tên định dạng liệu truyền bus Một vài đặc tả lớp định nghĩa ứng dụng liệu truyền, điều cho phép Host biết cách sử dụng liệu mà nhận Một vài lớp thiết bị sử dụng USB để truyền liệu định dạng định nghĩa giao diện khác (ví dụ lệnh giao diện SCSI sử dụng thiết bị lưu trữ thứ cấp (mass-storage device) Một đặc tả lớp định nghĩa giá trị cho mục mô tả chuẩn Các lớp thiết bị định nghĩa: Thiết bị âm (Audio): Lớp thiết bị âm lớp thiết bị gửi nhận liệu âm Dữ liệu âm tiếng nói mã hoá, nhạc hay loại âm khác Các thiết bị thuộc lớp thiết bị âm sử dụng kiểu truyền đẳng thời cho luồng âm kiểu truyền khối cho liệu mã hoá giao thức MIDI (Musical Instrument Digital Interface) Thiết bị giao diện thẻ thông minh: Thẻ thông minh loại thẻ quen thuộc sử dụng cho việc gọi điện thoại, thẻ quà tặng, thẻ vào, trả cước cầu đường, bảo hiểm y tế, giải mã cho thu truyền hình vệ tinh nhiều ứng dụng khác, ứng dụng yêu cầu khối lượng thông tin nhỏ trung bình với truy cập liệu lưu thẻ cách dễ dàng Mỗi thẻ module bao gồm nhớ thường thêm CPU Nhiều thẻ cho phép cập nhật nội dung chúng để thay đổi số thông tin ví dụ giá trị tiền thẻ tín dụng hay mã thẻ Để truy cập thẻ thông minh, bạn kết nối với thiết bị giao diện thẻ thông minh (CCID-Chip Card Interface Device) thường cách nhét thẻ vào khe đọc soi trước đọc loại thẻ không cần tiếp xúc USB định nghĩa lớp thiết bị giao diện thẻ thông minh có số thiết bị giao diện thẻ thông minh (CCID) sử dụng giao diện USB để giao tiếp với máy tính Lớp thiết bị truyền thông: Lớp thiết bị truyền thông bao gồm hai loại thiết bị là: thiết bị thoại thiết bị mạng tốc độ trung bình Thiết bị thoại bao gồm điện thoại tương tự ,modem tương tự, Các thích nghi đầu cuối ISDN điện thoại số Các thiết bị mạng bao gồm modem ADSL, modem điện tín, 10BASE-T Ethernet adapter hub Lớp thiết bị bảo mật: Lớp thiết bị bảo mật định nghĩa cách thức giúp ta điều khiển truy cập tới file, MẠCH GIAO TIẾP MÁY TÍNH QUA CỔNG USB TRANG 10 GVHD: NGUYỄN DUY THẢO Step 1: ta chọn đường dẫn lưu project, chọn loại vi điều khiển sử dụng, kèm theo khai báo tần số thạch anh mà sử dụng, ta dùng PIC 18F4550 tần số thạch anh 20MHz Step 2: bỏ qua không dùng đến Step 3: chọn thư viện cần dùng, ta chọn “Include None (Advanced)” MẠCH GIAO TIẾP MÁY TÍNH QUA CỔNG USB TRANG 23 GVHD: NGUYỄN DUY THẢO Step 4: ta tick vào ô vuông nhấn Finish MẠCH GIAO TIẾP MÁY TÍNH QUA CỔNG USB TRANG 24 GVHD: NGUYỄN DUY THẢO Lúc cửa sổ “Edit Project” ra, ta chọn thông sô hình: Ở ta có cách để chọn tần số hoạt động cho CPU, hình vẽ ta thấy có Option đầu vào xung nhịp cho CPU Với Option là: HSPLL Option là: XT, HS - - Ta chọn sử dụng HSPLL, tức Option Thạch anh thật 20MHz, qua chia PLLDIV để 4MHz đưa qua 96MHz PLL, đầu nhận tần số 96MHz, chia (như hình vẽ) 96/2=48 MHz, USB hoạt động với xung nhịp 48MHz Khi khai báo sử dụng HSPLL XT,HS bị vô hiệu, lấy xung nhịp từ HSPLL để cấp cho CPU, hình xung nhịp đưa qua chia CPUDIV nhỏ 2, tức 96/2=48MHz điều có nghĩa CPU hoạt động với xung nhịp cao 48MHz, đầu vào thạch anh có 20MHz Và lúc điều quan trọng phải sữa lại giá trị thạch anh đặt cho Project 20MHz thành 48MHz thạch anh thật bên 20MHz Ngoài cần phải Enable cho pin 18 để lấy điện áp 3.3V chân MẠCH GIAO TIẾP MÁY TÍNH QUA CỔNG USB TRANG 25 GVHD: NGUYỄN DUY THẢO Tiếp theo ta tiến hành viết code MẠCH GIAO TIẾP MÁY TÍNH QUA CỔNG USB TRANG 26 GVHD: NGUYỄN DUY THẢO Code: sbit LCD_RS at RE0_bit; sbit LCD_EN at RE2_bit; sbit LCD_D4 at RD4_bit; sbit LCD_D5 at RD5_bit; MẠCH GIAO TIẾP MÁY TÍNH QUA CỔNG USB TRANG 27 GVHD: NGUYỄN DUY THẢO sbit LCD_D6 at RD6_bit; sbit LCD_D7 at RD7_bit; sbit LCD_RS_Direction at TRISE0_bit; sbit LCD_EN_Direction at TRISE2_bit; sbit LCD_D4_Direction at TRISD4_bit; sbit LCD_D5_Direction at TRISD5_bit; sbit LCD_D6_Direction at TRISD6_bit; sbit LCD_D7_Direction at TRISD7_bit; unsigned char readbuff[64] absolute 0x500; unsigned char writebuff[64] absolute 0x540; char cnt; char kk,tam; char i,j; void interrupt(){ USB_Interrupt_Proc(); } void main(void){ ADCON1 |= 0x0F; CMCON |= 7; TRISB = 0x00; Lcd_Init(); HID_Enable(&readbuff,&writebuff); MẠCH GIAO TIẾP MÁY TÍNH QUA CỔNG USB TRANG 28 GVHD: NGUYỄN DUY THẢO Lcd_Cmd(_LCD_CLEAR); Lcd_Cmd(_LCD_CURSOR_OFF); while(1){ while(!HID_Read()) ; for(cnt=0;cnt[...]... Mikro C Và ở đây ta giao tiếp với máy tính nên ta cần có 1 giao diện để giao tiếp với PIC qua cổng USB nên ở đây em chọn thiết kế giao diện bằng C# trong bộ Visual Studio 2010 của Microsoft CHƯƠNG 2: THIẾT KẾ MẠCH MẠCH GIAO TIẾP MÁY TÍNH QUA CỔNG USB TRANG 21 GVHD: NGUYỄN DUY THẢO Tính toán điện trở hạng dòng cho led: Ta có điện áp trên mỗi led là 3V và dòng qua led là 10mA nên ta tính toán được điện... bị này bao gồm Các loại máy ảnh và máy quét Công việc chủ yếu của lớp thiết bị này là truyền dữ liệu hình ảnh từ thiết bị lên máy tính chủ Ngoài ra một vài thiết bị còn có thể nhận dữ liệu từ máy tính Nếu tất cả những gì ta cần là truyền các MẠCH GIAO TIẾP MÁY TÍNH QUA CỔNG USB TRANG 11 GVHD: NGUYỄN DUY THẢO file hình ảnh từ một máy ảnh lên máy tính chủ thì ta có thể đưa một máy ảnh vào lớp thiết bị... chỉ có 20MHz Và lúc này điều quan trọng là chúng ta phải sữa lại giá trị thạch anh đã đặt cho Project là 20MHz thành 48MHz mặc dù thạch anh thật bên ngoài là 20MHz Ngoài ra chúng ta cần phải Enable cho pin 18 để lấy điện áp 3.3V tại chân này MẠCH GIAO TIẾP MÁY TÍNH QUA CỔNG USB TRANG 25 GVHD: NGUYỄN DUY THẢO Tiếp theo ta tiến hành viết code MẠCH GIAO TIẾP MÁY TÍNH QUA CỔNG USB TRANG 26 GVHD: NGUYỄN DUY... File/New/Project MẠCH GIAO TIẾP MÁY TÍNH QUA CỔNG USB TRANG 22 GVHD: NGUYỄN DUY THẢO Step 1: ta chọn đường dẫn lưu project, và chọn loại vi điều khiển sử dụng, kèm theo là khai báo tần số thạch anh mà mình sử dụng, ở đây ta dùng PIC 18F4550 và tần số thạch anh là 20MHz Step 2: bỏ qua vì không dùng đến Step 3: chọn thư viện cần dùng, ta chọn “Include None (Advanced)” MẠCH GIAO TIẾP MÁY TÍNH QUA CỔNG USB TRANG... hang2[16]; MẠCH GIAO TIẾP MÁY TÍNH QUA CỔNG USB TRANG 29 GVHD: NGUYỄN DUY THẢO for(i=0;i ... ta giao tiếp với máy tính nên ta cần có giao diện để giao tiếp với PIC qua cổng USB nên em chọn thiết kế giao diện C# Visual Studio 2010 Microsoft CHƯƠNG 2: THIẾT KẾ MẠCH MẠCH GIAO TIẾP MÁY TÍNH... 18 để lấy điện áp 3.3V chân MẠCH GIAO TIẾP MÁY TÍNH QUA CỔNG USB TRANG 25 GVHD: NGUYỄN DUY THẢO Tiếp theo ta tiến hành viết code MẠCH GIAO TIẾP MÁY TÍNH QUA CỔNG USB TRANG 26 GVHD: NGUYỄN DUY... hành Desciption cho thiết bị MẠCH GIAO TIẾP MÁY TÍNH QUA CỔNG USB TRANG 30 GVHD: NGUYỄN DUY THẢO - Lưu thư mục tạo Add vào Project MẠCH GIAO TIẾP MÁY TÍNH QUA CỔNG USB TRANG 31 GVHD: NGUYỄN DUY

Ngày đăng: 25/03/2016, 17:04

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan