Truyền thông USB

Một phần của tài liệu Xây dựng hệ thống quản lý cân động ứng dụng trong hệ thống cân tàu hỏa (Trang 30 - 34)

B Ứng dụng mạch khuếch đại thuật toán

3.11Truyền thông USB

Để truyền thông được qua giao thức USB, chúng ta dùng chuẩn HID, tốc độ hoạt động của chip phải là 48MHz (với truyền thông USB 2.0,

full speed) [14]

Phần mềm nhúng truyền thông USB, cần có các hàm: Hid Enable, Hid Read, Hid Write, Hid Disable.

Với cấu trúc:

Hid Enable

Khai báo: void Hid Enable(unsigned readbuff, unsigned writebuff);

Trả về: không

Diễn tả: Cho phép giao tiếp USB HID. Tham số readbuff và writebuff

là Buffer Đọc và Viết Buffer, tương ứng, mà được sử dụng để giao tiếp HID.

3.1 Thiết kế phần cứng hệ thống 28

thư viện USB HID.

Yêu cầu: Không

Ví dụ: Hid Enable(&rd, &wr);

Hid Read

Khai báo: unsigned char Hid Read(void);

Trả về: Số lượng các ký tự trong Đọc Buffer nhận được từ các máy chủ.

Diễn tả: Nhận được tin nhắn từ máy chủ và lưu nó trong bộ đệm đọc.

Hàm trả về số lượng các ký tự nhận được trong bộ đệm đọc.

Yêu cầu: USB HID cần phải được kích hoạt trước khi sử dụng chức năng

này.

Ví dụ: get = Hid Read();

Hid Write

Khai báo: unsigned short Hid Write(unsigned writebuff, unsigned short

len);

Trả về: Nếu việc truyền dữ liệu đã không thành công, hàm trả về 0. Nếu

không, nó trả về số lượng byte truyền được

Diễn tả: Hàm gửi dữ liệu từ Buffer Viết writebuff đến máy chủ. Viết

Buffer có cùng một tham số như được sử dụng trong khởi tạo; xem Hid Enable. Len tham số cần để xác định chiều dài của dữ liệu sẽ được truyền

Yêu cầu: USB HID cần phải được kích hoạt trước khi sử dụng chức năng

này. Ví dụ:

// Thử đến khi thành công: while (!HID Write(writebuff, 1)); (adsbygoogle = window.adsbygoogle || []).push({});

Hid Disable

Khai báo: void Hid Disable(void);

Trả về: không

Diễn tả: Ngắt giao tiếp USB

Yêu cầu: USB HID cần phải được kích hoạt trước khi sử dụng chức năng

này.

Ví dụ: Hid Disable();

Đoạn mã nguồn dùng để kiểm tra việc truyền thông:

Ví dụ sau liên tục gửi các số 0 .. 255 đến PC qua USB(Universal Serial Bus). usbdsc.c phải được bao gồm trong dự án.

unsigned short m, k;

3.1 Thiết kế phần cứng hệ thống 29

unsigned short userWR_buffer[64]; void interrupt() {

asm CALL _Hid_InterruptProc asm nop

}

void Init_Main() {

// Disable all interrupts

// Disable GIE, PEIE, TMR0IE, INT0IE,RBIE INTCON = 0;

INTCON2 = 0xF5; INTCON3 = 0xC0;

// Disable Priority Levels on interrupts RCON.IPEN = 0;

PIE1 = 0; PIE2 = 0; PIR1 = 0; PIR2 = 0;

// Configure all ports with analog function as digital ADCON1 |= 0x0F; // Ports Configuration TRISA = 0; TRISB = 0; TRISC = 0xFF; TRISD = 0xFF; TRISE = 0x07; LATA = 0; LATB = 0; LATC = 0; LATD = 0; LATE = 0;

// Clear user RAM

// Banks [00 .. 07] ( 8 x 256 = 2048 Bytes ) asm { LFSR FSR0, 0x000 MOVLW 0x08 CLRF POSTINC0, 0 CPFSEQ FSR0H, 0 BRA $ - 2 } // Timer 0 T0CON = 0x07; TMR0H = (65536-156) >> 8; TMR0L = (65536-156) & 0xFF;

INTCON.T0IE = 1; // Enable T0IE T0CON.TMR0ON = 1;

}

/** Main Program Routine **/ void main() {

Init_Main();

Hid_Enable(&userRD_buffer, &userWR_buffer); do {

for (k = 0; k < 255; k++) { // Prepare send buffer

3.2 Thiết kế hướng đối tượng phần mềm hệ thống [2] 30 Hid_Write(&userWR_buffer, 1); } } while (1); Hid_Disable(); } //————————————————- 3.1.4 Khối nguồn (adsbygoogle = window.adsbygoogle || []).push({});

Khối nguồn là khối cần đến sự ổn định của điện áp, đảm bảo điện áp đúng thiết kế để cung cấp cho toàn bộ mạch. Khối nguồn được thiết kế

theo sơ đồ hình 3.12[15] .

Hình 3.12: Khối nguồn

Nguồn ở đây đã là nguồn điện áp thấp, đầu vào sau bộ biến áp có giá trị từ 8-16v, qua nắn dòng bởi diode mắc hình cầu.

Nếu cần nguồn có mức điện áp khác, ta có thể dùng LM78xx (giá trị điện áp ra sau ổn áp, ví dụ: 05, 08, 12,..) với điện áp dương và LM79xx với điện áp âm, trong đó có thể dùng nguồn máy tính.

3.2 Thiết kế hướng đối tượng phần mềm hệ thống [2]

Phần mềm là một sản phẩm được phát triển hay được kỹ nghệ hoá và được chế tạo tương tự như các sản phẩm công nghiệp (phần cứng) khác. Phát triển phần mềm và chế tạo phần cứng cũng có những điểm tương đồng: đều là sản phẩm và chất lượng của chúng phụ thuộc nhiều vào

3.2 Thiết kế hướng đối tượng phần mềm hệ thống [2] 31

Một phần của tài liệu Xây dựng hệ thống quản lý cân động ứng dụng trong hệ thống cân tàu hỏa (Trang 30 - 34)