1. Trang chủ
  2. » Giáo án - Bài giảng

huongdan kit CPLD all

125 343 1

Đ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

Thông tin cơ bản

Định dạng
Số trang 125
Dung lượng 4,91 MB

Nội dung

huong dan kit......................................................................................................................................................................................................................................................................................................................................................................................................................

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Trang 2

CHƯƠNG 1 GIỚI THIỆU CHIP CPLD XC2C256

1 TỔNG QUAN CPLD (Complex Programmable Logic Device)

CPLD là thiết bị logic lập trình phức hợp có mật độ logic lập trình cao hơn so với các PLD đơn giản như PLA và PAL

CPLD bao gồm nhiều mạch logic, mỗi mạch có thể coi là một SPLD Trong một mạch đơn SPLD chỉ thực hiện các chức năng logic đơn giản Các chức năng logic phức tạp hơn cần số lượng khối nhiều hơn, sử dụng ma trận liên kết chung giữa các khối để tạo kết nối CPLD thường dùng để điều khiển ghép cổng phức hợp ở tốc độ rất cao

Kiến trúc cơ bản của CPLD như hình 1:

Trang 3

vừa ra Ngoài ra còn có thể thiết lập các chân I/O làm việc ở các mức logic khác nhau, có điện trở pull-up, có điện trở pull-down,

HìCấu hình CPLD được lưu lại khi mất điện và không đổi trong quá trình hoạt động

Trong thực tế có nhiều loại CPLD khác nhau, của các hãng khác nhau, và đã được phát triển với nhiều chủng loại, thế hệ CPLD khác nhau Cấu tạo, dung lượng, tính năng, đặc điểm, ứng dụng … của mỗi loại CPLD cũng khác nhau Các hãng điện tử nổi tiếng trên thế giới đang sở hữu, phát triển, cung cấp các loại CPLD là Xilinx, Altera,…

Hiện nay, các họ CPLD đã được phát triển với tính năng rất mạnh, công suất tiêu thụ thấp CPLD đang được sử dụng rất nhiều để phát triển các sản phẩm điện tử, viễn thông, công nghệ thông tin, nhất là trong các thiết bị cầm tay, di động,…

2 Tổng quan CPLD CoolRunner II

Họ CPLD CoolRunner II có đặc điểm như sau:

• Là sự phát triển tiếp của PLD như PLA ,PAL

• Có cấu trúc đồng nhất là các MACROCELL

• Gồm nhiều khối tương tự PAL

• Công nghệ xử lý tốc độ cao từ 200MHz

• Gồm nhiều khối I/O có đặc tính nâng cao

• Cấu trúc cho phép thiết kế linh hoạt

• Năng lượng cực thấp sử dụng công nghệ REALDIDITAL

Trang 4

• Sử dụng công nghệ CMOS nên cực kỳ tiết kiệm năng lượng

Các thành viên của họ Coolrunner II như sau:

Bng 1.1: Các thành viên h Coolrunner II

Khi muốn thiết kế logic trên chip CPLD nào thì người thiết kế cần hiểu rõ cấu trúc cũng như các thông số kỹ thuật của từng loại chip Sau đây đề tài sẽ trình bày chip CPLD Coolrunner II XC2C256

3 CPLD XC2C256

Đặc điểm trên nhãn thiết bị CPLD XC2C256 cho biết:

Kiểu thiết bị XC2C256 Kiểu đóng gói TPQ144

Mã ngày sản xuất 0837 Tốc độ -7

Multiple Levels of Security Yes Yes Yes Yes Yes Yes

DataGate, Clock Divide, Differential I/O No No Yes Yes Yes Yes

Trang 5

4 Mô tả cấu trúc Coolrunner II

- Gồm 40 tín hiệu từ AIM (Advanced Interconnect Matrix) truyền đến PLA

- Đặc điểm của khối PLA :

nh 1.6 S đ PLA

- Đặc điểm của các khối macrocell:

Trang 7

- KHỐI XUNG CLOCK: Cool Runner có bộ chia tần số 2,4,6,, 16

nh 1.20 Khi chia tn s

5 QUY TRÌNH THIẾT KẾ CHO CPLD

Quá trính thiết kế cho CPLD được thực hiện trên công cụ phần mềm ISE, bao gồm các bước như sau:

Bước 1: Nhập thiết kế (Design Entry)

Đây là bước đầu tiên và quan trọng nhất của quá trình thiết kế cho CPLD Các công cụ thiết kế cho phép nhập thiết kế theo các cách sau:

- Nhập thiết kế sử dụng ngôn ngữ mô tả phần cứng HDL (VHDL, Verilog, ABEL,…) Người thiết kế có thể sử dụng chương trình soạn thảo để thực hiện việc mô tả toàn bộ bản thiết kế của mình dưới dạng HDL mà công cụ thiết kế có thể tổng hợp được

- Nhập thiết kế theo sơ đồ nguyên lý schematic Người thiết kế sử dụng các module có sẵn trong thư viện schematic để kết nối chúng với nhau tạo thành bản thiết kế theo yêu cầu Các này có thể thực hiện thiết kế nhanh nhưng sẽ rất khó khăn và không tối ưu tài nguyên của CPLD khi thiết kế phức tạp, không sử dụng được các công cụ thiết kế của hãng khác

- Nhập thiết kế dưới dạng sơ đồ: điển hình là đồ hình trạng thái, sau

đó chúng được chuyển đổi sang HDL

Bước 2: Kiểm tra mô phỏng thiết kế

Trang 8

Bước 3: Tổng hợp thiết kế (Design Synthesis)

Bước 4: Thực hiện thiết kế ( Design Implementaion)

Ở bước này sử dụng file netlist và file constrants để mô tả nguyên tắc thiết kế, gán các vị trí vào/ra trên chip, các ràng buộc tốc độ, thời gian, tần số,…

Bước này bao gồm các bước: Biên dịch (Translate), Phân bố bản thiết kế vào chip (Map), Định vị và định tuyến kết nối (Place and Route)

Trang 9

CHƯƠNG 2 PHẦN 1 GIỚI THIỆU X BOARD

1 KIT THỰC HÀNH CPLD: X BOARD

X board là board mạch được thiết kế sử dụng cho các thiết kế CPLD dựa trên con chip CoolRunner-II của hãng Xilinx Với việc sử dụng board này cùng với các modul hiển thị cho phép người sử dụng có thể thực hành, kiểm tra, tải các chương trình thiết kế VHDL Trên board có cổng USB2 sẽ cung cấp nguồn cho board và tải chương trình thiết kế

nh 2.1 Board thực hành CPLD (X Board)

2.2 ĐẶC ĐIỂM CỦA KIT THỰC HÀNH CPLD:X BOARD

J3 J4

J10

Chip Xilinx CX2C256 TQ144

Trang 10

nh 2.2 Đặc điểm của kit thực hành CPLD X Board

Kit thực hành CPLD X Board gồm có:

- Chip CPLD Coolrunner II XC2C256-TQ144

- Port USB2 cho phép truyền dữ liệu và chương trình JTAG

- Bộ biến đổi A/D 16bit cho phép đo các đường tín hiệu thực trong quá trình board hoạt động (dữ liệu sẽ được gửi lên PC thông qua card USB)

- Bộ dao động (1000/100/10 KHz)

- 12 LED đơn

- 2 công tắc nhấn

- 6 port kết nối gồm 6 chân (trong đó có 2 chân nguồn VCC=3.3V,GND)

- Port 26 chân, 16 chân 6 chân

- Nguồn điện áp hoạt động của board là 3,3V

2.3 PHÂN TÍCH SƠ ĐỒ CHÂN CỦA X BOARD

Trang 11

2.3.1 CHIP CPLD Coolrunner II

nh 2.3: S đ chân kt ni Coolrunner II vi I/O trên board

Kết nối Coolrunner II với 12 LED đơn trên board gồm các chân sau:

LED0 P131 LED1 P105 LED2 P88 LED3 P87 LED4 P86 LED5 P74 LED6 P82 LED7 P83 LED8 P26 LED9 P20 LED10 P6 LED11 P138 Kết nối Coolrunner II với các port I/0 như sau:

Trang 12

J1-IO1 P5 J1-IO2 P4 J1-IO3 P3 J1-IO4 P2

J2-IO1 P143 J2-IO2 P142 J2-IO3 P140 J2-IO4 P139

J3-IO1 P104 J3-IO2 P103 J3-IO3 P102 J3-IO4 P101

J4-IO1 P100 J4-IO2 P98 J4-IO3 P97 J4-IO4 P96

J5-IO1 P82 J5-IO2 P81 J5-IO3 P80 J5-IO4 P79

J6-IO1 P78 J6-IO2 P77 J6-IO3 P76 J6-IO4 P75

J7-IO1 P43

Trang 13

J7-IO2 P42 J7-IO3 P41 J7-IO4 P40

J8-IO1 P39 J8-IO2 P35 J8-IO3 P34 J8-IO4 P33 Kết nối Coolrunner II với giao diện J14 -JTAG

nh 2.4 Sơ đồ J14

J14-TMS-JTAG P65

Trang 14

J14-TDI-JTAG P63 J14-TDO-JTAG P122 J14-TCK-JTAG P67

Cung cấp nguồn cho X Board

X Board được cấp nguồn thông qua port USB (JP3), JP2 cho phép chọn nguồn điện áp sử dụng bên ngoài

nh 2.5: Sơ đồ nguyên lý J13

nh 2.13 Khi J14 (Khi JTAG)

c chân I/O

Trang 15

nh 2.6 Các port I/O

Trang 16

Các port của CPLD được nối trực tiếp ra các port IO để giao tiếp với các khối khác Ngoài ra còn có các port sử dụng cho chức năng configCPLD

nh 2.7 Port A có ch c năng

nh 2.8 port B có ch c năng parallel configuration

nh 2.9 Port D có ch c năng JTAG

Trang 17

nh 2.10 Micro Processor CY7C68013L-56 Micro Processor CY7C68013L-56 có một số tính năng như sau:

- Tần số dao động thạch anh tối đa 24 Mhz

- Bus giao tiếp port A

nh 2.11 IC2 có ch c năng JP1

nh 2.12 Khi xung J11

Trang 18

CHƯƠNG 2 PHẦN 2 GIỚI THIỆU CÁC MODULE PHÁT TRIỂN KIT

2.1 Module SWT (Switch module board)

SWT board có 4 switch dùng để đặt các ngõ vào trạng thái “on” hay “off” Xem hình 2.1

- Mỗi switch mắc nối tiếp với điên trở

- Header 6 chân: 4 chân SW, 2 chân nguồn: Vcc và GND

Mô t ch c năng:

- Các switch có thể dùng ở 2 mode: mode switch và mode dữ liệu

- Khi switch ở vị trí trên: SW được nối với nguồn Vcc (mức “1”), khi SW ở

vị trí dưới: SW nối với GND (mức “0”)

- SWT có thể kết nối trực tiếp với Digilent system boards, hay kết nối thông qua cáp 6 pin

Hình 2.1a

Hình 2.1b

Trang 19

Hình 2.1c: S đ nguyên lý ca module SWT

2.2 Module 8LD (8 LED đơn)

8TD board có 8 led đơn được kết nối với các transistor Led sáng tương ứng với mức logic cao khi được cung cấp bởi dòng ít hơn 1mA Xem hình 2.2

- 8 led sáng màu xanh

Trang 20

Hình 2.2a

Hình 2.2b

Trang 21

Hình 2.2c: Sơ đồ nguyên lý của module 8LD

3.3 Module SSD ( LED 7 đoạn)

Module SSD có 2 led 7 đoạn có thể kết nối trực tiếp với Digilent system board Led 7 đoạn có độ sáng cao với dòng nhỏ hơn 5mA, vì thế có thể kết nối trược tiếp với hầu hết các hệ thống board Xem hình 3.3

- 2 led 7 đoạn

- Connector 6 chân

Hình 3.3a

Trang 22

- Một mạch quét điều khiển hiển thị trên 2 led Khi có tín hiệu anode, tín hiệu trên cathode trên mỗi led sẽ lặp đi, lặp lại liên tục với tần số nhanh hơn đáp ứng của mắt Mỗi led chỉ sáng ở một nửa thời gian,lúc mắt chưa nhận ra trạng thái tắt của led thì nó đã sáng lại và do đó led sáng như liên tục Nếu tần số quét thấp (khoảng 45Hz), thì ta sẽ thấy led sáng nhưng bị rung

- Để hiển thị tốt, cả 2 led nên được điều khiển sáng trong khoảng thời gian

từ 1ms đến 16ms (tương ứng với tần số quét từ 1KHz đến 60Hz) Ví dụ, với f=60Hz, thời gian cả 2 led sáng một lần là 16ms, mỗi led chỉ sáng trong khoảng ½ chu kỳ quét, hay 8ms Nếu Cat1 = 0 trong khi AB và AC bằng 1 thì số “1” sẽ hiển thị ở led vị trí 1 Sau đó nếu Cat2 = 0 trong khi

AA, AB và AC bằng 1 thì số “7” sẽ xuất hiện ở vị trí led 2 Nếu Cat1 và AB,AC được dẫn trong 8ms và sau đó Cat2, AA,AB,AC dẫn trong 8ms thì hiển thị số “17” Xem giản đồ thời gian ở hình 3.3d

Trang 23

Hình 2.3d

Hình 3.3e

Hình 3.3f: Sơ đồ nguyên lý của module SSD

Trang 24

3.4 Module PS/2

Module PS/2 cho phép Digilent system board gởi và nhận tín hiệu từ bàn phím PS/2 hay chuột

- Header 6 chân để kết nối với board hệ thống

- Cổng PS/2 dùng kết nối với bàn phím hay chuột

- Jumpers chọn nguồn kết nối

Hình 3.4a

Trang 25

- Chú ý: Một số bàn phím và chuột có thể hoạt động ở điện áp 3.3V, tuy nhiên một số loại cần điện áp 5V Cẩn thận kết nối đúng cực khi dùng nguồn ngoài, và điện áp không được lớn hơn 5V

- Bàn phím và chuột cả hai dùng “khoảng thời gian” tín hiệu giống nhau

Cả hai dùng từ 11 bit gồm bit start, stop, và bit parity lẻ, nhưng gói dữ liệu được tổ chức khác nhau, giao tiếp bàn phím cho phép truyền dữ liệu theo hai hướng (host device có thể làm sáng led trên bàn phím) Tín hiệu

dữ liệu và xung clock chỉ được truyền khi việc truyền dữ liệu xảy ra, trong các trường hợp khác chúng ở trạng thái “idle”, có mức logic ‘1’, hình 3.4d “Khoảng thời gian” được định nghĩa tín hiệu cần thiết cho chuột giao tiếp với host, hay giao tiếp hai hướng của bàn phím

Hình 3.4d: Bus thời gian

Bàn phím

- Bàn phím dùng cực thu để hở để bàn phím hay host device gắn vào có thể dẩn trên bus 2 dây (nếu host device không gởi dữ liệu tới bàn phím, khi đó host chỉ là port ngõ vào)

Trang 26

- Bàn phím loại PS/2 dùng mã scan để truyền data phím nhấn (gần như tất

cả bàn phím hiện nay dùng loại PS/2) Mỗi phím nhấn có 1 mã scan mà

mã này sẽ được gởi khi phím nhấn, nếu nhấn phím và giử thì mã scan sẽ được gởi lặp đi lặp lại mỗi 100ms Khi 1 phím được thả ra, mã “F0” sẽ được gởi đi theo sao mã scan của phím đó Nếu 1 phím được “shift” để tạo ra ký tự mới (chử in), khi đó ký tự shift được gởi thêm và mã scan nguyên thủy, và host device phải xác định dùng ký tự nào Đối với các phím mở rộng, gởi “E0” phía trước mã scan ( ta có thể gởi nhiều hơn 1

mã scan), khi phím mở rộng được thả ra, “E0 F0” được gởi theo sau mã scan

Hình 3.4e

- Host device cũng có thể gởi dữ liệu đến bàn phím:

o ED: Set đèn Led Num Lock, Caps Lock, và Scroll Lock Sau khi nhận “ED” bàn phím sẽ gởi lại “FA” , khi đó host gởi 1 byte để set trạng thái led Bit 0 set Scroll Lock, bit 1 set Num Lock, bit 2 set Caps Lock, bit 3 đến 7 không dùng đến

o EE: Echo Trong lúc đang nhận lệnh echo, bàn phím gởi lại “EE”

o F3: Set tốc độ lặp lại mã scan Bàn phím nhận “F3” và gởi về “FA”, sau đó host gởi byte thứ 2 set tốc độ lặp lại

o FE: Gởi lại (resend) Trong lúc đang nhận “FE” bàn phím gởi lại mã scan cuối cùng

- Bàn phím gởi dữ liệu đến host trong từ 11 bit gồm bit ‘0’ start, theo sau là

8 bit mã scan (LSB first), bit parity lẽ, và cuối cùng bit ‘1’ stop Bàn phím

Trang 27

phát ra 11 clock (20-30KHz) khi dữ liệu được gởi, data chỉ có giá trị ở

cạnh xuống của xung clock

Mouse

- Khi chuột di chuyển ngõ ra là tín hiệu xung clock và tín hiệu dữ liệu,

ngược lại tín hiệu ở mức logic ‘1’ Mỗi lần chuột di chuyển, 3 từ 11 bit

được gởi từ chuột về host device Mỗi từ 11 bit chứ bit ‘0’ start, theo sau

là 8 bit dữ liệu (LSB first), bit parity lẽ, và cuối cùng bit ‘1’ stop Vì vậy,

mỗi lần truyền dữ liệu gồm 33 bit, vị trí bit 0, 11 và 22 là ‘0’ start bit; bit

11,21, và 33 là ‘1’ stop bit 3 vùng data 8 bit chứ dữ liệu di chuyển Dữ

liệu có giá trị khi có cạnh xuống của xung clock, tần số của clock từ

20-30KHz

- Giá trị của các vùng dữ liệu khi chuột di chuyển trong hệ thống tọa độ:

o Khi di chuyển sang phải sẽ tạo ra số dương ở field X và tạo ra số

âm khi di chuyển sang trái

o Di chuyển lên tạo số dương ở field Y, và số âm khi di chuyển

xuống

o Độ lớn của X và Y cho biết tốc độ di chuyển của chuột, số càng lớn

thì tốc độ di chuyển của chuột càng nhanh

o XY và YY bit trong status byte cho biết chuột di chuyển overflow, ‘1’

nghĩa là overflow xảy ra

o XS và YS bit trong status byte là các bit dấu, ‘1’ chỉ số âm

o L và R field trong status byte cho biết nút trái hay phải được nhấn,

‘1’ nút được nhấn

- Khi chuột di chuyển liên tục, 33 bit sẽ được truyền đi lặp lại mỗi 50ms

Hình 3.4f

Trang 28

Hình 3.4g: Sơ đồ nguyên lý của module PS/2

Module RS232 được thiết lập như một thiết bị truyền dữ liệu (Data communications equipment - DCE), nó kết nối với thiết bị đầu cuối (Data terminal equipment - DTE) như port nối tiếp trên PC, dùng cáp thẳng

- Max2322 chuyển đổi RS232

- Connector DB9 và header 6 chân

- Truyền và nhận dữ kiệu

- Chức năng RTS và CTS handshaking

Hình 3.5a

Trang 29

- Module RS232 được thiết kế làm việc cả với các board lập trình logic và board điều khiển nhúng Hầu hết Digilent system board có connector 6 chân cho phép module RS232 kết nối trực tiếp hay kết nối thông qua cáp

6 chân

Hình 3.5b

- Module RS232 được kết nối như một DTE Tín hiệu RS232 được đặt tên từ DCE Tín hiệu TXD mang dữ liệu từ DCE đến DTE, vì vậy tín hiệu TXD ở chân 3 là ngõ ra của bộ receiver kết nối vối ngõ vào của UART trên Digilent system board Tương tự, tín hiệu RXD mang dữ liệu từ DTE đến DCE và là ngõ vào của bộ receiver trên module RS232, kết nối với ngõ ra của UART trên system board Hình 3.5b

- Tín hiệu CTS ở chân 1 có thể kết nối với ngõ vào của transmitter và RTS ở chân 2 có thể kết nối với ngõ ra của receiver Các kết nối này thực hiện bằng các jumper block JP1, JP2

- Board điều khiển nhúng Digilent, như Cerebot, có 1 hay nhiều kết nối với tín hiệu UART có cấu hình đúng cho kết nối trực tiếp với module RS232.Trên các board lập trình logic Digilent, như Basys hay Nexys, UART phải được định nghĩa mức logic của FPGA hay CPLD và các kết nối tín hiệu phải được định nghĩa để kết nối với UART, và các chân thích hợp

Trang 30

Dùng jumper blocks JP1 và JP2

- JP1 và JP2 dùng để đặt cấu hình cho module RS232 hoạt động ở 3 dây

hay 5 dây Chân 1 và 2 của JP1 được nối với chân 1 và 2 của connector

J1 Chân 1 và 2 của JP2 nối với CTS transmitter và RTS receiver

- Để cấu hình cho module RS232 như DTE 3 dây không handshaking,

ngắn mạch 2 chân JP2, không ngắn mạch JP1 Vòng lặp này, RTS quay

lại CTS trên module RS232, không nối chân 1 và 2 trên J1

- Để cấu hình cho module RS232 như DTE 5 dây với RTS/CTS bắt tay, nối

chân 1 của JP1 với chân 1 của JP2, nối chân 2 của JP1 với chân 2 của

JP2 Kết nối này, CTS transmitter đến chân 1 của J1 và RTS receiver

đến chân 2 của J1

Hình 3.5c: Sơ đồ nguyên lý của module RS232

Trang 31

3.6 Module CLS

Module CLS có thể dùng để hiển thị thông tin quan trọng trong quá trình phát triển chương chình, hay giao tiếp với người sử dụng sau khi project hoàn thành

Module có khả năng thực thi rất nhiều chức năng khác nhau như xóa những ký

tự đặc biệt, đặt nhiều chế độ hiển thị khác nhau, cuộn, và hiển thị những ký tự

do người dùng định nghĩa Các hướng dẫn cũng được ghi rỏ dùng những chuỗi escape để gởi các lệnh đến bộ vi điều khiển Atmel Atmega48 trên board Hiển thị trên module được điều khiển bởi AVR và AVR điều khiển tất cả tính chất trên board

Hình 3.6a

Mô t ch c năng:

- Giao tiếp với AVR trên module dùng UART, SPI, kết nối nối tiếp TWI Những ký tự được ghi ra màn hình đơn giản bằng cách gởi ký tự trên link giao tiếp Các ký tự xuất hiện trên màn hình ở vị trí hiện tại của con trỏ

- Để set vị trí con trỏ, và gởi các hướng dẫn khác bằng cách gởi các chuỗi escape Một chuỗi escape được chỉ rõ: đầu tiên gởi ký tự escape, theo sau là ‘[‘ , zero hay những thông số bằng số khác được phân biệt bằng dấu ‘;’ theo sau là ký tự cho yêu cầu riêng Tất cả các hướng dẫn được liệt kê trong “Instruction Set” như bảng 3.6a

Communication Options

Để set phương pháp giao tiếp trên board, dùng các jumper MD0, MD1 và MD2 trên board Cấu hình các jumpers được trình bày ở bảng 3.6b Đối với board Rev D board, jumper không nối được miêu tả bằng 0, và có nối là 1 Với board Rev E, jumper không nối được miêu tả là 1 và có kết nối là 0

Connetor J1 dùng cho giao tiếp SPI Connector J2 dùng cả cho giao tiếp UART và TWI Connector J4 và J5 được dùng cho các thiết bị TWI

Trang 32

Hình 3.6b

Power Supply Options

Module tương ứng với nguồn DC ngoài có điện áp từ 2.7V đến 5.5V Dùng điện áp ngoài khoảng này có thể làm hỏng module và các thiết bị kết nối Module có thể lấy nguồn thông qua header 6 chân của board J1 hay J2, hay thông qua connector J6 hay J7

Khi module được kết nối với vi điều khiển Digilent khác hay FPGA board, các board này cấp nguồn cho module PmodCLS qua Pmod connector Host board được jump cung cấp 3.3V trên chân Vcc của connector Module khi đó được cấp nguồn bởi host board power supply

Instruction Set

Module CLS có khả năng thực thi nhiều chỉ dẫn khác nhau Hướng đẫn được gởi dùng chuổi escape Mỗi chuổi escape bắt đầu với ký tư ESC ( code ký tự là 0x1B or decimal 27), theo sau là ‘[‘, kế tiếp là 0 hay thông

số phân biệt bởi dấu ‘;’ và cuối cùng ký tự yêu cầu

Trang 33

Bảng 3.6c

Trang 34

Bảng 3.6d

EEPROM

Trước khi muốn lưu trữ bất kỳ giá trị nào vào địa chỉ EEPROM, ghi vào EEPROM thì trước hết phải enable Lệnh enable ghi EEPROM phải được gởi trước Nếu lệnh enable ghi EEPROM không gởi trước lệnh ghi EEPROM sẽ bị lờ đi

T"o ký t%

Module có thể hiển thị 8 ký tự cùng một lúc, nhưng chỉ có khả năng lưu trữ 4 trong 8 ký tự 3 ký tự được lưu trong bảng ký tự của EEPROM, và 1

ký tự được đưa vào Ram của LCD

Để tạo 1 ký tự mới, gởi lệnh (ESC)[<pn>…<pn>;<ps>d trong đó, <pn> là thông số dạng số mô tả hàng của ký tự và <ps> là thông số lựa chọn (số thập phân từ 0 đến 7) Một ký tự được định nghĩa: gồm có 8 hàng vì thế chuổi escape để định nghĩa phải có 8 <pn> theo sau là <ps> đặc trưng của ký tự

Để tạo 1 ký tự mới, trước hết phải vẽ mẫu Sau đó, xác định giá trị của mỗi hàng trên ký tự Lưu ý, bên trái có trọng số bit lớn nhất Ghi lại mỗi hàng, từ trên xuống dưới, và ghi lại ký tự ghi vào Mỗi hàng của ký tự chứa 6 pixels, và chỉ 6 bit thấp của mỗi byte được dùng

Ví dụ, ký tự sau được ghi vào viết như sau:

IcdChar(0x1B);

IcdString(‘[14;13;21;31;23;16;31;14;0d”);

Trong đó IcdChar() và IcdString() là các hàm ghi ký tự và dãy ký tự

Lệnh ở trên ghi ký tự vào địa chỉ ‘0’ trên bảng Ram của LCD Để hiển thị

ký tự này, gởi địa chỉ của ký tự, ví dụ trường hợp này:

IcdChar(0x00);

Ký tự sẽ xuất hiện ở vị trí con trỏ của LCD

Trang 35

Hình 3.6e: Sơ đồ chân của các connector

Trang 36

CHƯƠNG 3 ISEWebPACK

3.1 GIỚI THIỆU:

ISE WebPACK là công cụ phần mềm cho phép lập trình ngôn ngữ VHDL, thiết kế, kiểm tra các thiết kế, tải được miễm phí trên mạng, sử dụng được cho CPLD Coolrunner II

Trong chương 4 này, sẽ gồm có 4 phần là:

- Hướng dẫn cài đặt

- Hướng dẫn thiết kế một project

- Hướng dẫn chạy kiểm tra mô phỏng thiết kế

- Hướng dẫn giao tiếp với kit CPLD X Board

3.2 HƯỚNG DẪN CÀI ĐẶT

Phần mềm ISE WebPACK phục vụ cho việc viết chương trình VHDL có thể tải miễn phí từ trang web của Xilinx:

http://www.xilinx.com/ise/logic_design_prod/webpack.htm

nh 3.1 Ti phn m'm ISE t( trang web ca XIlinx

Hoặc cài đặt từ dĩa CD có bản quyền:

Trang 37

3.3 HƯỚNG DẪN TẠO MỘT THIẾT KẾ MỚI:

3.3.1 KHAI BÁO THIẾT KẾ

Bắt đầu phần mềm ISE, chọn:

Start → Programs→ Xilinx ISE 10.1→ ISE → Project Navigator

Tạo một thiết kế mới như sau:

Bước 1: Chọn File→New Project

nh 3.2 C)a s* thit k - Tên thit k

Bước 2: Đặt tên thiết kế là “Tutorial” và đường dẫn lưu file thiết kế

Bước 3: Chọn Next>

Bước 4: Nhập những thông số cho project mới như sau:

Device Family: CoolRunner-II

Device: xc2c256

Package: TQ144

Speed Grade: -7

Synthesis Tool: XST (VHDL/Verilog)

Simulator: ISE Simulator (VHDL/Verilog)

Language: VHDL

Trang 38

nh 3.3 Chn các thông s cho chip CPLD

Bước 5: Chọn Next> Chọn tiếp Next> trong cửa sổ New Source

Bước 6: Chọn tiếp Next> trong cửa sổ Add Existing Source Chọn Finish

Bước 7: Tạo một nguồn mới cho thiết kế bằng cách chọn Project →New

Trang 39

Bước 9: Chọn Next>

Đầu tiên ta cần tạo một module chia tần số từ 100 kHz từ bộ dao động trên board xuống tần số thấp đủ để mắt người quan sát được Vì vậy ta sử dụng bộ chia xung clock Coolrunner II chia 16, sau đó tạo bộ đếm 10 để có tần số đạt được khoảng 6 Hz

Bước 10: Tạo module đếm 4 bit

nh 3.5 Khai báo ngu n VHDL

Bước 11: Module chia tần số có 2 port: clock_osc là ngõ “in”, clock_div là

ngõ “out”

Bước 12: Chọn Next> tiếp theo cho đến khi chọn nút Finish

Lúc này file “clock_divide.hdl” được tạo ra trong thiết kế ở cửa sổ Sourse in

Project

nh 3.6 C)a s* Source in Project

Mã nguồn sẽ tự động xuất hiện khi ta nhấp đôi chuột vào file hdl hoặc bấm

chuột phải, chọn Open

Trang 40

3.3.2 SOẠN THẢO CHƯƠNG TRÌNH HDL

3.3.2.1 SOẠN THẢO DỰA TRÊN KHUÔN MẪU

Để sử dụng các dạng khuôn mẫu có sẵn của ngôn ngữ thiết kế, ta theo các bước như sau:

Bước 1: Trong phần soạn thảo file HDL, di chuyển con trỏ đến giữa phần begin

và end Behavioral

Bước 2: Mở phần mẫu ngôn ngữ bằng cách nhấn nút Project navigator trên thanh công cụ

Hoặc chọn Edit → Language Template

Bước 3: Theo đường dẫn sau:

VHDL → Device Primitive Instantiation → CPLD → Clock Components → CR-II Clock Divider → Divide by 16 → Simple Divider (CLK_DIV16)

Bước 4: Chép tất cả dòng chương trình mẫu để vào file clock_divide.hdl

Bước 5: Đóng cửa sổ Language Template nếu muốn

Bước 6: Chú ý những chữ có màu trong khi soạn thảo HDL là những dòng lệnh

nh 3.7 CLK_16 trong file HDL

...

nh 2.1 Board thực hành CPLD (X Board)

2.2 ĐẶC ĐIỂM CỦA KIT THỰC HÀNH CPLD: X BOARD

J3 J4

J10

Chip Xilinx CX2C256 TQ144

Trang... class="page_container" data-page="10">

nh 2.2 Đặc điểm kit thực hành CPLD X Board

Kit thực hành CPLD X Board gồm có:

- Chip CPLD Coolrunner II XC2C256-TQ144

- Port USB2... CHO CPLD

Quá trính thiết kế cho CPLD thực công cụ phần mềm ISE, bao gồm bước sau:

Bước 1: Nhập thiết kế (Design Entry)

Đây bước quan trọng q trình thiết kế cho CPLD

Ngày đăng: 15/12/2017, 13:51

TỪ KHÓA LIÊN QUAN

w