Tải bản đầy đủ (.pdf) (46 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.28 MB, 46 trang )

ĐẠ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 Spartar – 3E 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ớ
Báo cáo hệ thống nhúng
10 Nhóm 9
RAM, ROM, các I/O, Các thiết kế vi xử lý nhúng cũng được tối ưu hóa.
Ngoài ra EDK cũng có công cụ mô phỏng rất mạnh.
1.3.3.4 System Generator 9.2
System Generator (sysgen) là công cụ phát triển hệ thống cho
FPGA, cho phép thiết kế hệ thống ở dạng các khối, và 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 như cộng, trừ, nhân, các khối

logic, cho đến những thiết kế phức tạp hơn như các DSPs, bộ lọc số,
nhân chập, UART , các bộ nhớ tích hợp: Single Port, DualPort Ram,
FIFOs, các thanh ghi Sysgen còn cho phép người thiết kế tạo ra các khối
để thực hiện những nhiệm vụ riêng bằng khối Black Box, tại đây người
thiết kế sẽ tạo ra các entity và cài mã của nó vào Black Box để tạo ra các
thiết kế riêng của mình. Những thiết kế của Sysgen có thể được dịch ra
nhiều kiểu dữ liệu, có thể thành file bit để nạp ngay vào phần cứng, hoặc
thành các thiết kế để ghép vào một hệ thống lớn hơn.
Với việc kết hợp với Mathwork để xây dựng Sysgen, Xilinx đã làm
cho việc thiết kế hệ thống trên nền FPGA của mình trở nên thuận tiện và
đơn giản hơn rất nhiều đối với người làm kĩ thuật.









Báo cáo hệ thống nhúng
11 Nhóm 9
I.3.4 Sơ lược cách sử dụng phần mềm ISE Foundation 9.2i
Giao diện chính của chương trình

Hình 2.5 Giao diện chính của môi truờng lập trình ISE 9.2i
Báo cáo hệ thống nhúng
12 Nhóm 9
* 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-3E, 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 2.7 Lựa chọn thiết bị cho đề án.
Báo cáo hệ thống nhúng
13 Nhóm 9
Bước 3 : Sau khi thực hiện xong bước trên chọn Next, một cửa sổ
mới để ta thêm nguồn mới vào đề án. Chọn New source, chọn VHDL
Module, gõ tên vào File Name và next :

Hình 2.8 Thêm module vào đề án thiết kế

Bước 4 : Chọn các cổng vào/ra cho đề án

Hình 2.9 Lựa chọn các cổng vào ra
Bao gồm tên cổng, mô tả vào (in),ra (out) hay vào ra (inout). Số bít
vào ra tương ứng với các cổng. Bấm Next và Finish.

Bước 5 : Thêm thư viện có sẵn vào đề án.
Báo cáo hệ thống nhúng
14 Nhóm 9
Nếu đã có tệp lập trình sẵn, ta có thể thêm vào ở bước này bằng
cách bấm vào Add Source và chọn đường dẫn đến tệp nguồn muốn thêm
vào.
Bấm Next và Finish để hoàn thành.

Sau khi định nghĩa và mô tả xong các bước trên, trình dịch sẽ tự
động tạo ra thực thể với các cổng được mô tả bằng lệnh (VHDL) như sau :
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
Uncomment the following library declaration if instantiating
any Xilinx primitives in this code.
library UNISIM;
use UNISIM.VComponents.all;
entity Bodem is
Port ( clock : in STD_LOGIC;
Q0 : in STD_LOGIC;
Q1 : in STD_LOGIC;
Q2 : in STD_LOGIC;
Q3 : in STD_LOGIC;
Out : out STD_LOGIC_VECTOR (7 downto 0));
end Bodem;
architecture Behavioral of Bodem is
begin
end Behavioral;
Như vậy ta đã tạo ra một đề án, ở bước tiếp theo ta viết chương
trình vào cửa sổ soạn thảo.
Đối với một đề án lớn, ta phải thực hiện với nhiều module, để có thể
hoàn thành đề án thì phải thiết kế từng module và tuân thủ theo các bước
chế tạo Chip.
Báo cáo hệ thống nhúng
15 Nhóm 9

Phần II : GIỚI THIỆU VỀ BÀN PHÍM PS2, LCD VÀ

SDRAM
II.1 Giới thiệu về bàn phím PS2
II.1.1 Tổng quan về bàn phím PS2
• Chuẩn PS/2 được IBM giới thiệu để giao tiếp,truyền dữ liệu
giữa bàn phím,chuột với máy chủ.
• Dữ liệu được truyền nối tiếp từng bit theo khung truyền 11bit
gồm 1start bit mức thấp,8 bit dữ liệu,1 stop bit mức cao và 1
parity bit kiểm tra chẳn.Dữ liệu chỉ được đọc tại cạnh xuống
xung clock của Keyboard.
• Mỗi phím là 1 chuyển mạch switch, tạo ra một tiếp xúc điện khi
ấn phím
• Cáp bàn phím được nối đến chip ngoại vi 8255A
• Bộ điều khiển bàn phím thường là chip 8042, 8048, 8049,
8741, 8742, 6868, 6805.
• Khi chip điều khiển nhận được yêu cầu từ bàn phím, chip này
gửi tín hiệu ngắt IRQ1 và truyền dữ liệu vào CPU
• CHÂN PS/2 :

PS/2
1. Clock
2. GND
3. Data
4. N/C
5. +5V
(VCC)
6. N/C

Báo cáo hệ thống nhúng
16 Nhóm 9


Hình 2.1 : Sơ đồ chân PS2


MÃ QUÉT BÀN PHÍM (SCAN CODE)
• Khi nhấn 1 phím, bộ xử lý bàn phím gửi đến PC mã quét (scan-
code) của phím được nhấn
• Khi phím được nhấn, mã này gọi là 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:

Báo cáo hệ thống nhúng
17 Nhóm 9


Hình 2.2 : Scan-code bàn phím loại 102 phím
II.1.2 Giao tiếp bàn phím với kit Spartar-3E thông qua
cổng PS2
• Bàn phím PS2 giao tiếp bằng giao thức nối tiếp bất đồng bộ 2
chiều
• Xung clock được phát bởi bàn phím, tần số khoảng 10-
16.7kHz



• Các trạng thái hoạt động
– Data=high, clock=high: trạng thái rảnh
– Data=high, clock=low: trạng thái cấm giao tiếp
– Data=low, clock=high: trạng thái máy chủ được yêu cầu
truyền dữ liệu
Truyền dữ liệu từ bàn phím về máy chủ:
Các bước thực hiện:
– Kiểm tra bus đang ở trạng thái rảnh
– Clock ở mức cao ít nhất 50us trước khi bàn phím gửi data
– Bàn phím gửi data từng khung dữ liệu 11bit
– Dữ liệu được đọc tại cạnh xuống của clock
Báo cáo hệ thống nhúng
18 Nhóm 9
– Máy chủ có thể cấm giao tiếp bằng cách kéo clock xuống
thấp
– Khi clock được giải phóng, bàn phím lại truyền tiếp dữ
liệu chưa hoàn chỉnh

Hình 2.3 : Dữ liệu từ keyboard đến PC

Truyền dữ liệu từ máy chủ đến bàn phím:
• Các bước thực hiện:
– Máy chủ cấm truyền từ bàn phím đến bằng cách kéo
clock xuống thấp
– Máy chủ kéo data xuống thấp và giải phóng clock báo
hiệu bàn phím phát xung clock bắt đầu truyền dữ liệu
– Dữ liệu được đọc tại cạnh xuống của clock
– Sau khi bàn phím nhận stop bit nó sẽ truyền tín hiệu ACK
đến máy chủ kết thúc quá trình truyền dữ liệu

Hình 2.4 : Dữ liệu từ PC đến keyboard
Các lệnh truyền từ máy chủ tới bàn phím:

Lệnh
Diễn giải
ED
Bật/tắt các đèn Num Lock, Caps Lock, và Scroll Lock. Bàn phím
sẽ thông báo nhận được lệnh “ED” bằng cách gửi đi mã quét “FA”,
sau đó thiết bị điều khiển sẽ gửi tiếp lệnh tình trạng cho LED . Vị
trí bit điều khiển các LED ở bảng sau. Giá trị „1‟ sẽ làm cho LED
tương ứng sáng .
7
6
5
4
3
2
1
0
Báo cáo hệ thống nhúng
19 Nhóm 9
(Không sử dụng)
Caps
Lock
Num
Lock
Scroll
Lock
EE
Echo. Khi nhận lệnh echo, bàn phím sẽ trả về cùng mã quét đã

nhận “EE”.
F3
Thiết lập tốc độ lặp mã quét của phím.Bàn phím sẽ thông báo khi
nhận được mã quét của “F3” bằng cách trả về một mã quét “FA”,
sau đó thiết bị điều khiển sẽ gửi byte thứ hai để thiết lập tốc độ
lặp phím.
FE
Gửi lại. Khi nhận được lệnh này, bàn phím sẽ gửi lại mã quét vừa
gửi đi trước đó.
FF
Reset. Resets bàn phím.
Bảng 2.1Các lện truyền từ máy chủ tới bàn phím
II.2. Giới thiệu về LCD
II.2.1 Giới thiệu chung
Thuật ngữ tinh thể lỏng được đề nghị sử dụng lần đầu tiên bởi
nhà vật lý O.Lehman vào năm 1889 để chỉ một trạng thái đặc biệt
của vật chất mà các tính chất của nó là trung gian giữa tinh thể chất
rắn và chất lỏng đẳng hướng . Trạng thái vật chất này kết hợp nhiều
tính chất cơ học của chất lỏng thông thường ( có hình dạng của vật
chứa , tạo thành giọt …) và các tính chất dị hướng điện từ và quang
của tinh thể .
Các phân tử tạo thành tinh thể lỏng thường được đặc trưng hóa
bằng các phân tử có dạng ống điếu hoặc dãn dài . Hướng dãn dài
định nghĩa trục chiều dài các phân tử . Các tính chất chủ yếu của
tinh thể lỏng là tính dị hướng điện từ và quang . Trục chiều dài của
các phần tử có khuynh hướng đồng chỉnh theo cùng một hướng nhất
định , nghĩa là điều chỉnh theo hướng . Tùy loại điều chỉnh hướng mà
có 3 pha vật liệu tinh thể lỏng khác nhau : nematic , smectic ,
cholesteric.
LCD ( Lequid Crystal Display) là một dạng hiển thị nhờ ứng

dụng của tinh thể lỏng , nhờ sự sắp xếp có hướng của các tinh thể
lỏng dưới tác dụng của điện trường .
Báo cáo hệ thống nhúng
20 Nhóm 9
Hiện nay có nhiều loại LCD với kích thước khác nhau nhưng
trong phần này chỉ giới thiệu LCD theo chuẩn HD44780 . Hình sau
trình bày một số loại LCD 2 dòng theo chuẩn HD44780.




Hình 2.5 : một số LCD chuẩn HD44780
Các LCD được chế tạo với cấu tạo thông dụng là 16, 20, 24, 32, 40
kí tự trên 1 hàng với màn hình hiển thị 1, 2 hay 4 hàng . Có loại LCD
hiển thị theo kí tự hay đồ họa . Các module LCD thông minh là LCD
có tích hợp trong đó mạch lái – các chip điều khiển (HD44780). Nhờ
đó mà nó có thể hiện thị không những số mà còn hiển thị chữ , các
kí hiệu và có thể cho phép ta định nghĩa các ký hiệu của riêng mình.
II.2.2 Nguyên lý hoạt động
Bằng cách sử dụng tính chất của tinh thể lỏng 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 cực dưới . Ở
giữa các phân tử hướng từ hướng này sang hướng khác . Trong điều
Báo cáo hệ thống nhúng
21 Nhóm 9
kiện này tinh thể xoay phân cực ánh sang đi qua 90

0
và ánh sang
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 ( transmissive display) : được sử dụng với
điều kiện ánh sáng bên ngoài rất yếu .
 Hiển thị phản chiếu ( reflective display) : phụ thuộc vào
ánh sáng bên ngoài , không thể sử dụng hiển thị loại này
khi điều kiện ánh sáng bên ngoài rất yếu.


 Hiển thị phát – phản chiếu (transreflective display) : được
sử dụng cho một dãy rộng điều kiện chiếu sáng.
II.2.3. Các thuận lợi và bất lợi của LCD
Thuận lợi:
 Tiêu thụ công suất rất thấp với dòng điện tiêu biểu
20nA/mm
2
. Điều này làm cho LCD ứng dụng được với các
dụng cụ , thiết bị dùng pin.
 Yêu cầu điện áp thấp , tiêu biểu : 1.5V đến 5V .
 Tương thích CMOS.
 Đọc được dưới ánh sáng mặt trời.
 Uyển chuyển , linh động , bộ hiển thị dễ dàng làm cho
thích hợp với các ứng dụng hiển thị theo đoạn , ma trận

chấm , đồ thị , đồ họa và các ứng dụng khác ( khả năng
màu cho các hiển thị TV phẳng cũng khả dụng ).
Báo cáo hệ thống nhúng
22 Nhóm 9
Bất lợi :
 Kiểu thông dụng nhất là phát phản xạ không sử dụng
được khi các mức sáng xung quanh thấp.
 Thời gian đáp ứng của tế bào LCD rất chậm so với nhiều
ứng dụng.
 Góc nhìn của bộ hiển thị bị hạn chế.
 Các dụng cụ hay thiết bị này nhạy với nhiệt độ.
II.2.4 Sơ đồ 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
0 = Nhập lệnh
1 = Nhập dữ liệu
5
R/W
0/1
I
0 = Ghi dữ liệu
1 = Đọc dữ liệu
Báo cáo hệ thống nhúng
23 Nhóm 9
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
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 (V

DD
) : 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ấp
cho nó 6VDC hay 4.5V DC thì nó cũng hoạt động tốt và ngay
cả 3VDC cũng đủ cho một số module.LCD tiêu thụ năng lượng
rất ít.
Báo cáo hệ thống nhúng
24 Nhóm 9
 Chân 3 (V
0
) : điều khiển độ tương phản của màn hiển thị. Lý
tưởng thì chân này nối với nguồn thay đổi được , nhưng đơn
giản nhất là người ta nối chân này xuống đất ( 0V ).
 Chân 4 (RS) : Register Select , chọn thanh ghi . Đây là một
trong 3 chân điều khiển lệnh. Khi chân này để mức thấp thì
các dữ liệu được truyền đến LCD được xử lý như mệnh lệnh
và các dữ liệu đọc ra chỉ trạng thái của nó. Bằng cách đưa
đường RS lên mức cao thì dữ liệu kí tự có thể xuất / nhập
trên module này .
 Chân 5 (R/W) : Read/Write . Chân này được kéo xuống mức
thấp để ghi các lệnh hay dữ liệu kí tự vào moduke hoặc được
kéo lên mức cao để đọc dữ liệu kí tự hay thông tin trạng thái
từ các thanh ghi của nó.
 Chân 6 (E) : chân cho phép , tích cực mức cao. Ngõ vào này
dung để khởi động việc chuyển các lệnh hay dữ liệu giữa
modue và các đường dữ liệu. Khi ghi ra màn hình hiển thị LCD
, dữ liệu chỉ được chuyển khi có cạnh xuống ở tín hiệu E này .
Tuy nhiên khi đọc ra từ LCD thì dữ liệu khả dụng sau khi có
chuyển tiếp từ thấp lên cao và duy trì dữ liệu khả dụng cho
đến khi tín hiệu xuống thấp một lần nữa.

 Chận 7 đến chân 14 là 8 đường bus dữ liệu từ DB0 đến DB7.
Dữ liệu có thể được chuyển đến và lấy ra khỏi bộ hiển thị LCD
theo dạng một byte 8 bit hay dạng hai nửa byte 4bit (nibble)
. Trong trường hợp sau chỉ có 4 đường dữ liệu trên sử dụng (
4 bit cao : DB7 đến DB4 ). Chế độ 4 bit này thuận tiện khi sử
dụng vi xử lý , cần có ít đường xuất / nhập hơn.

×