Xây dựng danh bạ điện thoại dựa trên kit Spartar - 3E

46 457 1
Xây dựng danh bạ điện thoại dựa trên kit Spartar - 3E

Đ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

Xây dựng danh bạ điện thoại dựa trên kit Spartar - 3E

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA saaasd Thực hiện: Nhóm 9 Hướng dẫn: TS Lê Chí Thông Òa TP HCM, Ngày 27 tháng 11 năm 2011 THIẾT KẾ HỆ THỐNG NHÚNG XÂY DỰNG DANH BẠ ĐIỆN THOẠI DỰA TRÊN KIT SPARTAR-3E Báo cáo hệ thống nhúng 1 Nhóm 9 Mục lục Phần I GIỚI THIỆU VỀ SPARTAN -3E KIT BOARD VÀ MÔI TRƯỜNG LẬP TRÌNH ISE 9.2I 3 I.1 Hãng Xilinx 3 I.2 Mạch phát triển họ Spartan 3E Kit Board của hãng Xilink 3 I.2.1 Kiến trúc cơ bản 3 I.2.2 Các thông số kỹ thuật và một số hình ảnh 5 I.2.3 Mã số Chip và ý nghĩa của nó 6 I.3 Môi trường lập trình ISE Foundation 9.2i 7 I.3.1. Giới thiệu môi trường lập trình ISE 7 I.3.2 Ý nghĩa của bộ công cụ ISE 9 I.3.3 Giới thiệu các công cụ lập trình của hãng Xilink 9 I.3.4 Sơ lược cách sử dụng phần mềm ISE Foundation 9.2i 11 Phần II : GIỚI THIỆU VỀ BÀN PHÍM PS2, LCD VÀ SDRAM 15 II.1 Giới thiệu về bàn phím PS2 15 II.1.1 Tổng quan về bàn phím PS2 15 II.1.2 Giao tiếp bàn phím với kit Spartar-3E thông qua cổng PS2 17 II.2. Giới thiệu về LCD: 19 II.2.1 Giới thiệu chung 19 II.2.2 Nguyên lý hoạt động 20 II.2.3. Các thuận lợi và bất lợi của LCD 21 II.2.4 Sơ đồ chân chức năng 22 II.2.5. Tập lệnh của LCD 25 II.2.6 Bảng mã của LCD 29 II.3 SDRAM (kit Spartan-3E) 31 Phần III : CHI TIẾT THIẾT KẾ VÀ THI CÔNG 34 III.1 Truyền dữ liệu từ bàn phím PS2: 35 III.1.1 Module ps2_rx 36 III.1.2 Module key_code 38 III.1.3 Module chuyển mã ASCII 38 III.1.4 Module hiển thị & test PS2 38 III.2 LCD controller : 39 III.2.1 Sơ đồ khối của module LCD_controller 39 III.2.2 Hoạt động của module LCD_controller 41 Phần IV: KẾT QUẢ 45 Báo cáo hệ thống nhúng 2 Nhóm 9 Tóm tắt: VHDL là ngôn ngữ mô tả phần cứng cho các mạch tích hợp tốc độ rất cao, là một loại ngôn ngữ mô tả phần cứng được phát triển dùng cho trương trình VHSIC (Very High Speed Itergrated Circuit) của bộ quốc phòng Mỹ. Nó là một ngôn ngữ độc lập không gắn với bất kỳ một phương pháp thiết kế, một bộ mô tả hay công nghệ phần cứng nào. Người thiết kế có thể tự do lựa chọn công nghệ, phương pháp thiết kế trong khi chỉ sử dụng một ngôn ngữ duy nhất. Chính vì vậy mà trong bài báo cáo này chúng tôi sử dụng ngôn ngữ lập trình VHDL để thực hiện thiết kế một chip xử lý ( trên kit FPGA Spartar3E của hang Xilinx) để xử lý giao tiếp tín hiệu với bàn phím PS2 và xuất dữ liệu ra LCD. Dữ liệu này đồng thời sẽ được lưu trữ trong SDRAM dưới dạng tên trong một danh bạ điện thoại và chip cũng chịu trách nhiệm thực hiện việc search tên này để lấy dữ liệu ra. Bài báo cáo sẽ gồm 4 phần, phần 1 sẽ giới thiệu về Kit Spartar-3E phần thứ 2 sẽ nói tới các phần cứng giao tiếp với KIT bao gồm keyboard, LCD, và SDRAM. Phần 3 sẽ là phương án thực hiện và cuối cùng là tổng kết các kết quả thu được. Báo cáo hệ thống nhúng 3 Nhóm 9 Phần I GIỚI THIỆU VỀ SPARTAN -3E KIT BOARD VÀ MÔI TRƯỜNG LẬP TRÌNH ISE 9.2I I.1 Hãng Xilinx Xilinx là nhà phát triển hàng đầu hiện nay trong lĩnh vực chip khả trình, được thành lập bởi Ross Freeman, Bernie Vonderschmitt, và Jim Barnett, và có trụ sở tại thung lũng Silicon. Trụ sở chính hiện nay ở San Jose, California. Là thành viên của nhóm 100 công ti hàng đầu thế giới hiện nay do tạp chí Fortune bình chọn. Xilinx là nhà phát triển FPGA, CPLD được sử dụng rộng rãi trong những ứng dụng truyền thông, tự động hóa, mật mã và các lĩnh vực khác. Các sản phẩm phần cứng của Xilin gồm có các dòng CPLD : CoolRunner, các họ FPGA như Spartans, Virtex Xilinx còn cung cấp các phần mềm hỗ trợ lập trình FPGA, CPLD như ISE, EDK, LogicCore, System Generator. Các công cụ này hỗ trợ rất nhiều cho quá trình lập trình FPGA, giúp giảm thời gian và công sức thiết kế. Các phiên bản phần mềm trên được nâng cấp thường xuyên. I.2 Mạch phát triển họ Spartan 3E Kit Board của hãng Xilink I.2.1 Kiến trúc cơ bản Cấu trúc tổng quan của Spartan 3E gồm có 5 thành phần có chức năng khả trình cơ bản sau: + Configurable Logic Blocks (CLBs): Bao gồm các Look-Up Tables (LUTs) rất linh động có chức năng thực thi các logic và các phần tử nhớ dùng như là các flip-flop hoặc các chốt (latch). CLB thực hiện phần lớn các chức năng logic như là lưu trữ dữ liệu, + Input/Output Blocks (IOBs): Điều khiển dòng dữ liệu giữa các chân vào ra I/O và các logic bên trong của FPGA. IOBs hỗ trợ luồng dữ liệu 2 chiều (bidirectional data flow) và hoạt động logic 5 trạng thái (5 state). Hỗ trợ phần lớn các chuẩn tín hiệu, bao gồm một vài chuẩn tốc độ cao, như Double Data- Rate (DDR). + Block RAM : Cho phép lưu trữ dữ liệu dưới dạng các khối (block) dual-port 18-Kbit. Báo cáo hệ thống nhúng 4 Nhóm 9 + Multiplier Blocks : Cho phép 2 số nhị phân 18bit làm đầu vào và dễ dàng tính toán tích của chúng. + Digital Clock Manager (DCM) Blocks : Cung cấp khả năng tự xác định xung clock, là giải pháp số hoàn chỉnh cho các tín hiệu clock phân phối, trễ, nhân, chia và dịch bit. Các phần tử này được tổ chức như trong hình sau: Hình 1.1 Cấu trúc các thành phần của Spartan 3E Từ hình vẽ ta thấy, các IOBs bao quanh các mảng CLBs, riêng Spartan-3E chỉ có một vòng các IOBs. Mỗi cột block RAM bao gồm một vài block RAM 18-Kbit, mỗi block RAM lại gắn liền với một multiplier dành riêng. Các DCM được đặt ở các vị trí: 2 DCM phía trên và 2 cái phía dưới của thiết bị, và đối với các device lớn hơn thì có thêm các DCM ở phía bên cạnh. Đặc điểm chung mạng Spartan-3E là kết nối liên thông giữa 5 phần tử cơ bản này, và truyền tín hiệu giữa chúng. Mỗi thành phần chức năng Báo cáo hệ thống nhúng 5 Nhóm 9 này có một switch matrix dành riêng để cho phép chọn lựa kết nối cho việc đi dây trong FPGA. I.2.2 Các thông số kỹ thuật và một số hình ảnh Spartan 3E là họ FPGA mới nhất của Xilinx với nhiều ưu điểm nổi bật. Đầu tiên phải kể đến là khả năng tích hợp của Spartan-3E từ 100,000 gates đến 1,6 triệu gates.Ngoài ra, còn có một số đặc điểm chính của Spartan-3E là: - Dễ sử dụng, giá thành thấp, tiêu thụ điện năng ít. - Mật độ tích hợp nhiều phần tử logic (Đây là ưu điểm so với họ Spartan 3). - Tốc độ xung nhịp hệ thống từ 5 - 300 MHz. - Năm mức tiêu thụ điện năng (3.3V; 2.5V; 1.8V; 1.5V; 1.2V) - Tích hợp tới 376 chân I/O hay 156 cặp tín hiệu khác nhau . - Truyền dữ liệu với tốc độ khá cao. Bảng 1.1 Một số sản phẩm của dòng Spartan-3E Sản phẩm Số cổng hệ thống Phần tử logic Số hàng Số cột Khối RAM Số chân XC3S100E 100K 2,160 22 16 72K 108 XC3S250E 250K 5,508 34 26 216K 172 XC3S500E 500K 10,476 46 34 360K 232 XC3S1200E 1200K 19,512 60 46 504K 304 XC3S1600E 1600K 33,192 76 58 648K 376 Từ khi sản xuất dòng sản phẩm Spartan-3 Platform FPGA, Xilinx đã trở thành hãng đầu tiên trên thế giới tiếp cận công nghệ 90nm. Dòng sản phẩm Spartan 3E cũng được kế thừa và phát triển dựa trên công nghệ này. Báo cáo hệ thống nhúng 6 Nhóm 9 Spartan-3E Starter kit board là một công cụ hữu hiệu cho bất kì ai đang có ý định thiết kế các sản phẩm dựa trên công nghệ FPGA. Đây là một giải pháp cơ bản cho nhằm tối ưu thời gian và chi phí ban đầu. Nó cho phép chế tạo ngay với giá thành sản phẩm thấp. Bộ kit này là một thiết bị cấu trúc logic có thể được người sử dụng lập trình trực tiếp mà không phải sử dụng bất kỳ một công cụ chế tạo mạch tích hợp nào. Hình 1.2 Spartan-3E Starter Kit Board nhìn từ mặt trên. Hình 1.3 Một số cổng của Spartan-3E Kit Board. I.2.3 Mã số Chip và ý nghĩa của nó Báo cáo hệ thống nhúng 7 Nhóm 9 Hình 2.4 Chíp Spartan-3E Xilink với các thông số Trên bề mặt chíp được in các mã số, dựa vào các mã số này, người thiết kế mạch có thể biết được khả năng làm việc của bo mạch và lựa chọn để mua thiết bị phù hợp với nhu cầu sử dụng. Các bo Kit phát triển Spartan-3E được sản xuất ở hai dạng gói cả tiêu chuẩn và Pb-free cho tất cả các thiết bị sản xuất. Các gói Pb-free có chứa thêm ký tự „G‟ trong mã gói Standard Packaging Pb-Free Packaging I.3 Môi trường lập trình ISE Foundation 9.2i I.3.1. Giới thiệu môi trường lập trình ISE Báo cáo hệ thống nhúng 8 Nhóm 9 Phần mềm ISE (Integrated Software Environment) này là một môi trường thiết kế hoàn hảo của Xilinx, nó trợ giúp cho người thiết kế hầu hết các công cụ cần thiết để có thể hoàn thành một đề án thiết kế nhanh nhất và hiệu quả nhất. ISE tích hợp các công nghệ tiên tiến nhất mạng lại tính linh hoạt, giao diện GUI thân thiện với người sử dụng. Một số ưu điểm của ISE là: - Tận dụng tối đa tất cả các công nghệ tiên tiến nhất của PLD. - Tiết kiệm thời gian thiết kế, hỗ trợ tất cả các dòng sản phẩm của Xilinx. - Tăng hiệu quả và giảm giá thành - Hỗ trợ tối đa cho việc thiết kế các hệ thống nhúng. Bộ sản phẩm ISE bao gồm các gói phần mềm: a. ISE WebPACK: Đây là gói sản phẩm dùng để phát triển hệ thống một cách dễ dàng nhất vì nó là môi trường thiết kế on-line (trực tuyến) trên Web và được hỗ trợ trực tiếp từ Xilinx. ISE WebPACK cho phép người dùng hoàn thành bản thiết kế nhanh chóng nhờ sự kết hợp của các thiết kế đầu vào HDL, các công vụ tổng hợp tiên tiến và khả năng kiểm tra đối với cả CPLD và FPGA trực tuyến. b. ISE BaseX: Đây là gói phần mềm hiệu quả về kinh tế nhất, là môi trường thiết kế PLD trên máy tính cá nhân linh hoạt và ổn định. Nó cung cấp tất cả các khả năng như ISE WebPACK, ngoài ra nó còn được bổ sung nhiều công cụ khác hỗ trợ cho người dùng. c. ISE Alliance: Gói phần mềm này được thiết kế phù hợp với môi trường thiết kế có sẵn của người dùng. Nó kết hợp các công cụ hay nhất của Xilinx để tạo môi trường thiết kế hoàn chỉnh với các tính năng cao hơn ISE BaseX. d. ISE Foundation: Đây là gói phần mềm hoàn chỉnh nhất, dễ sử dụng, tính năng nhiều nhất đồng thời tích hợp các công cụ phân tích, tổng hợp và công nghệ kiểm tra sản phẩm với các giải pháp hữu hiệu. Báo cáo hệ thống nhúng 9 Nhóm 9 I.3.2 Ý nghĩa của bộ công cụ ISE Khi kích thước và độ phức tạp của các hệ thống số gia tăng, nhiều công cụ thiết kế được trợ giúp bởi máy tính CAD (Computer Aided Design) được đưa vào quá trình thiết kế phần cứng. Phương pháp thiết kế trên giấy đã được thay bằng cách thiết kế trên máy tính, từ đó các nhà thiết kế có thể kiểm tra và có các công cụ tạo ra phần cứng tự động từ các bản thiết kế đó. Hỗ trợ mạnh mẽ nhất cho các công cụ thiết kế này là các ngôn ngữ mô tả phần cứng HDL (Hardware Description Languages). Hiện nay, các nhà nghiên cứu đã tìm ra nhiều cách cho phép HDL có thể cải tiến quá trình thiết kế hệ thống số như đã nói ở chương I. I.3.3 Giới thiệu các công cụ lập trình của hãng Xilink 1.3.3.1 ISE 9.2 Là công cụ xây dựng và lập trình FPGA. ISE 9.2 thực sự là một môi trường tổng hợp và thực thi toàn diện cho các chip khả trình của Xilinx. Với ISE9.2, người thiết kế có thể lập trình, gỡ rối, mô phỏng, dịch và nạp chương trình một cách nhanh chóng và dễ dàng. Người thiết kế cũng có thể thiết kế hệ thống của mình theo nhiều cách khác nhau : với mã HDL, với sơ đồ RTL, hoặc với sơ đồ trạng thái (state machine) 1.3.3.2 Logic Core 9.2 LogicCore 9.2 là thư viện của ISE 9.2, trong đó chứa các mã nguồn cho các khối logic có thể được sử dụng cho việc xây dựng những hệ thống khác nhau.Với Logic Core, người thiết kế có thể giảm đi rất nhiều công sức thiết kế, bỏ qua việc xây dựng những thành phần đã có sẵn và tập trung vào việc xây dựng hệ thống, đồng thời cũng tối ưu hóa các thiết kế của mình. 1.3.3.3 EDK 9.2 Là công cụ để xây dựng hệ thống có các vi xử lý nhúng trong FPGA như MicroBlaze (cho tất cả các họ FPGA ) và Power PC ( chỉ cho họ Virtex). EDK 9.2 không chỉ giúp tạo ra các vi xử lý nhúng mà còn hỗ trợ thiết kế các ngoại vi, giao diện cho chúng, với một thư viện ngoại vi đồ sộ, cho phép vi xử lý thực thi bất cứ một nhiệm vụ nào mà các vi xử lý thông thường có thể thực hiện được : Như giao tiếp UART, Ethernet, các bộ nhớ [...]... nhóm đã thực hiện ý tưởng này bằng mô hình thực tế là xây dựng một danh bạ điện thoại dựa trên giao tiếp trên bàn phím PS2, lưu trữ dữ liệu vào ram đồng thời search ra các dữ liệu đó và hiện thị lên màn hình LCD Ý tưởng trước mắt thì đơn giản nhưng đó là công việc của bất cứ một mô hình thiết bị nào trên thế giới hiện tại từ máy vi tính, mp3, điện thoại di động, các bộ điều kiển các thiết bị gia dụng…... thống nhúng II.3 SDRAM (kit Spartan -3 E) SRAM trên kit Spartan -3 E là một bộ nhớ truy xuất ngoài , gồm 32M x 16 tế bào DDR SDRAM tĩnh với ngõ vào 16-bit data như hình ở dưới Sơ đồ chân : Hình 2.8 Sơ đồ chân DDR SDRAM Đặc điểm kết nối chân của DDR SDRAM như sau: 31 Nhóm 9 Báo cáo hệ thống nhúng 32 Nhóm 9 Báo cáo hệ thống nhúng Bảng 2.9 Sơ đồ kết nối chân SDRAM trên kit Spartan – 3E 33 Nhóm 9 Báo... make-code • Khi phím được nhả, mã này gọi là break-code – Break-code gồm 2 byte: byte đầu là F0 (đối với bàn phím mở rộng), byte kế là mã make-code • Ví dụ: – nhấn SHIFT: make-code = 12 – Nhấn A: make-code = 1C – Nhả A: break-code = F0, 1C – Nhả SHIFT: break-code = F0, 12 • Mã được truyền nối tiếp từng byte, với khung truyền 11bit • BẢNG SCAN-CODE: 16 Nhóm 9 Báo cáo hệ thống nhúng Hình 2.2 : Scan-code... sự phân cực ánh sang đi qua có thể bị thay đổi và truyền ánh sang bị điều khiển bởi điện trường Tinh thể lỏng có thể có 1 trong 2 trạng thái Khi không có điện áp đặt vào hai điện cực , chúng ở trạng thái TN Điện cực ở trên được đánh bóng sao cho các phân tử lớp trên song song với sự phân cực của bộ phân cực trên Điện cực dưới được chuẩn bị đồng chỉnh lớp dưới các phân tử tinh thể với bộ phận phân... kế Trong danh bạ này dữ liệu được truyền từ bàn phím PS2 , hiển thị lên LCD (và 1 số LED) trên kit Spartar 3E và lưu trữ trong SDRAM Chính vì vậy trước hết ta thiết kế các module controller lần lượt cho PS2 , LCD và SDRAM Phần thiết kế thực hiện các module cụ thể được trình bày trong phần dưới đây III.2 Truyền dữ liệu từ bàn phím PS2: Hình 3.2 Sơ đồ khối module ps2 -Tín hiệu reset mức cao -PS2_CLK... chân chức năng Hình 2.6 : sơ đồ chân LCD Chân Kí hiệu Mức Logic I/O Chức năng 1 Vss - - Nguồn (GND) 2 Vcc - - Nguồn (+5V) 3 Vee - - Chỉnh độ tương phản 4 RS 0/1 I 5 R/W 0/1 I 22 0 = Nhập lệnh 1 = Nhập dữ liệu 0 = Ghi dữ liệu 1 = Đọc dữ liệu Nhóm 9 Báo cáo hệ thống nhúng Chân Kí hiệu Mức Logic I/O Chức năng 6 E 1, 1-> 0 I Tín hiệu cho phép 7 DB0 0/1 I/O Bus dữ liệu 0 8 DB1 0/1 I/O Bus dữ liệu 1 9 DB2... hỗ trợ mô phỏng, debug, tạo code để nạp vào FPGA hoặc kết hợp vào những ứng dụng lớn hơn Sysgen được xây dựng như một Block Set của Simulink trong Matlab Do đó, sysgen thừa hưởng tất cả các ưu điểm của Simulink trong việc xây dựng hệ thống và mô phỏng Sysgen còn sử dụng thư viện của Logic Core để xây dựng các block của mình Trong thư viện của Sysgen có tất cả các khối thực hiện các chức năng từ cơ bản... có thể đi qua bộ phân cực ở tế bào bán trong suốt Khi có điện áp đưa vào phân cực , điện trường giữa các điện cực làm thay đổi định hướng của các phân tử tinh thể Với các phân tử được đồng chỉnh theo điện trường , không có sự thay đổi phân cực ánh sang đi qua , và do đó ánh sáng đi qua các điện cực bị ngăn lại Ảnh tối theo hình dạng của các điện cực được tạo ra Các chế độ hiển thị :  Hiển thị phát... dữ liệu 1 9 DB2 0/1 I/O Bus dữ liệu 2 10 DB3 0/1 I/O Bus dữ liệu 3 11 DB4 0/1 I/O Bus dữ liệu 4 12 DB5 0/1 I/O Bus dữ liệu 5 13 DB6 0/1 I/O Bus dữ liệu 6 14 DB7 0/1 I/O Bus dữ liệu 7 15 Lamp- - - Đèn LCD 16 Lamp+ - - Đèn LCD Bảng 2.2 : bảng chân chức năng của LCD  Chân 1 ( Vss) : chân GND  Chân 2 (VDD) : nguồn cung cấp 5V DC Theo sổ tay thì nguồn cấp cho LCD là 5V DC (chỉ khoảng vài mA) nhưng cung... cáo hệ thống nhúng * Hướng dẫn các bước tạo một Project mới (Sử dụng Spartan 3E) Bước 1: Từ menu file à new project và điền tên vào Poject name, chọn thự mục lưu ở Project location, chọn ngôn ngữ để viết rồi bấm next: Hình 2.6 Tạo một Project mới Bước 2: Lựa chọn kit là Spartan -3 E, loại XC3S500E,package là FG320, speed grade là -4 , ngôn ngữ soạn thảo VHDL, công cụ mô phỏng dùng XST (VHDL/Verilog) Hình

Ngày đăng: 30/03/2014, 19:38

Từ khóa liên quan

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

Tài liệu liên quan