Đề tài Đọc file nhạc và ảnh từ ổ cứng

Bìa i

Phiếu Chấm Bảo Vệ LVTN (giáo viên hướng dẫn)

Phiếu Chấm Bảo Vệ LVTN (giáo viên phản biện)

Nhiệm Vụ Luận Văn Tốt Nghiệp

Lời Cảm Ơn ii

Tóm Tắt Luận Văn iii

Mục Lục iv

Danh Mục Hình Vẽ ix

Danh Mục Bảng Biểu xi

Danh Sách Các Từ Viết Tắt xiii

CHƯƠNG 1 ARM7 LH79525 1

1.1 Tổng quan 1

1.2 Boot Controller 5

1.2.1 Nguyên tắc hoạt động 5

1.2.2 Các thanh ghi 7

1.3 Điều khiển bộ nhớ ngoài EMC 9

1.3.1 Giới thiệu chung về EMC 9

1.3.2 Nguyên tắc hoạt động 10

1.3.3 Bộ nhớ tĩnh 11

1.3.4 Chọn thiết bị bộ nhớ tĩnh 13

1.3.5 Bộ nhớ động 13

1.4 General purpose input/output (GPIO) 14

1.4.1 Cấu hình Port 15

1.4.2 Thanh ghi GPIO 18

1.5 Cổng nối tiếp đồng bộ SSP 22

1.5.1 Nguyên tắc hoạt động 22

1.5.2 Các thanh ghi 25

CHƯƠNG 2 CẤU TRÚC DỮ LIỆU Ổ ĐĨA CỨNG VÀ GIAO TIẾP IDE 28

2.1 Cấu trúc dữ liệu của ổ đĩa cứng 28

2.1.1 Track 28

2.1.2 Sector 28

2.1.3 Cluster 28

2.1.4 Cylinder 29

2.1.5 Phân vùng 29

2.2 Giới thiệu chuẩn giao tiếp IDE 30

2.3 Các chân data của IDE và chức năng của chúng 32

2.3.1 Các chân data của cáp IDE 32

2.3.2 Chức năng các chân tín hiệu 33

2.4 Các thanh ghi giao tiếp 35

2.4.1 Định địa chỉ device 35

2.4.2 Thanh ghi I/O 36

2.4.3 Thanh ghi Alternate status 36

2.4.4 Thanh ghi Command 36

2.4.5 Thanh ghi Cylinder high 37

2.4.6 Thanh ghi Cylinder low 37

2.4.7 Thanh ghi dữ liệu 37

2.4.8 Data port 38

2.4.9 Thanh ghi Device control 38

2.4.10 Thanh ghi Device/head 39

2.4.11 Thanh ghi lỗi 39

2.4.12 Thanh ghi Features 39

2.4.13 Thanh ghi đếm sector 40

2.4.14 Thanh ghi số sector 40

2.4.15 Thanh ghi trạng thái 40

2.5 Tập lệnh 41

2.5.1 Identify device 41

2.5.2 Read sector 47

2.5.3 Ghi sector 48

2.5.4 Check Power Mode 49

CHƯƠNG 3 CHUẨN FAT 32 51

3.1 Giới thiệu FAT 32 51

3.1.1 Định nghĩa FAT 51

3.1.2 Các loại FAT 51

3.1.3 Ưu nhược điểm của các loại FAT 52

3.2 Quản lý bộ nhớ trong thiết bị lưu trữ và quá trình Boot của PC 53

3.2.1 Quá trình khởi động của PC 53

3.2.2 Đơn vị lưu trữ dữ liệu trên các thiết bị có dung lượng lớn 53

3.3 Quá trình đầu tiên khi Boot ổ cứng để đọc các thông số 53

3.3.1 Master Boot Record 53

3.3.2 Entry Partition 54

3.4 Quá trình nhảy từ các Entry của Master Boot Record 55

3.4.1 Quá trình nhảy đến Volume ID 55

3.4.2 Quá trình nhảy đến Extent MBR 56

3.4.3 Quá trình nhảy tới Volume ID của Secondary Partition 56

3.5 Phân tích Volume ID (PBR) 57

3.6 Xác định bảng FAT trên Partition 59

3.7 Phân tích Root Directory và xác định File/Folder 59

3.7.1 Root Directory 59

3.7.2 Cách nhận dạng Long File Name và Short File Name 60

3.8 Phân tích bảng FAT và cách truy xuất File/Folder 63

3.8.1 Định nghĩa bảng FAT 63

3.8.2 Cấu trúc bảng FAT 64

CHƯƠNG 4 LCD TFT&TSC 66

4.1 Giới thiệu ILI9320 66

4.2 Những đặc trưng của ILI9320 66

4.3 Sơ đồ khối 68

4.4 Mô tả chân 69

4.5 Mô tả khối 69

4.5.1 Giao tiếp hệ thống MPU 69

4.5.2 Giao tiếp RGB và VSYNC 70

4.5.3 Bộ đếm địa chỉ (AC) 70

4.5.4 RAM đồ họa (GRAM) 71

4.5.5 Grayscale Voltage Generating Circuit 71

4.5.6 Timing Controller 71

4.5.7 Bộ tạo dao động (OSC) 71

4.5.8 Mạch điều khiển LCD 71

4.5.9 Mạch cấp nguồn điều khiển LCD 71

4.6 Giao tiếp hệ thống 72

4.6.1 Đặc tính của giao tiếp 72

4.6.2 Input Interfaces 73

4.6.3 Giao tiếp ngoại vi nối tiếp SPI 74

4.6.4 Giao tiếp VSYNC 76

4.6.5 Giao tiếp RGB 77

4.7 Mô tả thanh ghi 79

4.7.1 Truy cập các thanh ghi 79

4.7.2 Mô tả hướng dẫn 81

4.8 Màn hình cảm ứng 98

4.8.1 Giới thiệu 98

4.8.2 Nguyên lý ADC 99

4.8.3 Kiến trúc SAR 99

4.8.4 Nguyên lý màn hình cảm ứng 100

4.8.5 Điều kiện Sensing Touch và No Touch 102

4.8.6 Cách dùng SHARP ADC 103

4.8.7 Hook up and Programming 103

4.9 Cấu trúc BMP 107

4.9.1 Header BMP 108

4.9.2 Thông tin BMP 109

4.9.3 Color Palette 110

4.9.4 Dữ liệu BMP 111

CHƯƠNG 5 MP3 AUDIO DECODER VS1011e 113

5.1 Giới thiệu 113

5.1.1 Chức năng 113

5.2.1 Gói 115

5.2.2 Mô tả chân của LQFP-48 và BGA-49 116

5.3 Sơ đồ kết nối LQFP-48 117

5.4 Bus SPI 118

5.4.1 Tổng quát về SPI 118

5.4.2 Serial Protocol for Serial Data Interface (SDI) 119

5.4.3 Serial Protocol for Serial Command Interface (SCI) 120

5.4.4 Yêu cầu dữ liệu chân DREQ 122

5.4.5 SPI Timing Diagram 122

5.5 Mô tả chức năng 123

5.5.1 Tính năng chính 123

5.5.2 Các định dạng audio mà codec hỗ trợ 123

5.5.3 Data Flow of VS1011e 126

5.6 Hoạt động 128

5.6.1 Clocking 128

5.6.2 Hardware Reset 128

5.6.3 Software Reset 129

5.6.4 SPI Boot 129

5.6.5 Play/Decode 129

5.6.6 Feeding PCM data 130

5.6.7 SDI Tests 130

5.7 Các thanh ghi của VS1011e 130

5.7.1 Thanh ghi SCI 130

5.7.2 Thanh ghi dữ liệu nối tiếp 130

5.7.3 Thanh ghi DAC 130

5.7.4 Thanh ghi GPIO 131

5.8 Cấu trúc file MP3 131

5.8.1 Tổng quan về file MP3 131

5.8.2 File cấu trúc 131

CHƯƠNG 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 137

6.1 Kết Luận 137

6.2 Hướng phát triển 137

Tài Liệu Tham Khảo 139

 

 

doc153 trang | Chia sẻ: lethao | Lượt xem: 2089 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Đọc file nhạc và ảnh từ ổ cứng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ectory) được kiểm soát bởi số Cluster. Hai thông số cần quan tâm đó là địa chỉ bắt đầu của bảng FAT và địa chỉ bắt đầu của Cluster đã được tính ở slide trước. Công thức tính vị trí của 1 Cluster bất kỳ: LBA of Address = LBA Begin of Cluster + (No. of Cluster - 2) * Sectors Per Cluster. Lưu ý: Từ Root Directory trở đi, quá trình quản lý vùng nhớ được tính bằng số Cluster chứ không quản lý bằng Sector. Bảng 3.7 Vị trí bảng FAT trên Partion 3.7 Phân tích Root Directory và xác định File/Folder 3.7.1 Root Directory Mỗi Partition chứa PBR (Volume ID), bảng FAT, Root Directory, Folder và File. Tất cả các File và Folder (bao gồm cả Root Directory) đều được hệ thống quản lý bằng số Cluster. Hai thông tin quan trọng khi truy xuất File/Folder đó là vị trí bắt đầu của File/Folder và vị trí các Cluster chứa File/Folder. Tên của Root Directory chính là tên của Partition, Root Directory quản lý tên, chiều dài và vị trí bắt đầu của File/Folder. Tuy nhiên Root Directory còn cung cấp một số thông tin như thuộc tính, thời gian ghi, thời gian hiệu chỉnh File/Folder. Dựa vào địa chỉ bắt đầu của File/Folder trên Root Directory chúng ta sẽ truy xuất chúng từ bảng FAT. Vậy, để truy xuất File/Foler chúng ta phải sử dụng Root Directory và FAT Table. Root Directory quản lý các File/Folder thông qua các Entry (mỗi entry có chiều dài 32 byte). Có các loại Entry sau: -Normal Record with Short filename – Attrib is normal. -Long filename text – Attrib has all four type bits set. -Unused – First byte is 0xE5. -End of directory – First byte is zero. Trong Root Directory, thông tin mỗi Short filename được chứa trong 1 Entry. Đối với Long name text thì số lượng Entry này sẽ thay đổi tùy theo chiều dài tên. Unused Entries có Byte đầu tiên là 0xE5 để báo hệ thống biết File/Folder đã bị xóa, vì vậy vùng nhớ đó có quyền sử dụng cho các File/Folder khác. Kết luận: không truy xuất các Entry bắt đầu bằng 0x00 hoặc 0xE5. 3.7.2 Cách nhận dạng Long File Name và Short File Name Trong Root Directory chúng ta chỉ quan tâm đến các Entry có chứa thông tin (Long File Name và Short File Name). - Nếu Byte đầu tiên của Entry là 0xE5 (Unused) thì Entry này đã bị xóa (không chứa thông tin). - Nếu Byte đầu tiên của Entry là 0x00 (End of Directory) thì từ Entry đó xuống dưới hết thông tin (kết thúc Root Directory). Việc phân biệt Entry của LFN và SFN được dựa vào byte thuộc tính Attrib có địa chỉ offset 0x0B. Nếu Attrib là 0x0F thì đây là entry của LFN, các entry kế tiếp chứa tên của LFN. Nếu Attrib khác 0x0F thì đây là entry của SFN. Nếu Entry là Short File Name thì nội dung của Entry sẽ được mô tả ở slide kế tiếp. Kết luận: để xác định số lượng File và Folder trong Partition chúng ta phải đọc và phân tích toàn bộ Root Directory. Normal Record with Short filename: Mỗi File/Folder có tên ngắn (nhỏ hơn 11Byte bao gồm tên mở rộng) được quản lý trong 1 Entry, Entry này được mô tả như sau: Bảng 3.8 Kích thước chi tiết entry của short file name Field Offset Size Short Filename 0x00 11 Bytes Attrib Byte 0x0B 1 Byte First Cluster High 0x14 2 Byes First Cluster Low 0x1A 2 Bytes File Size 0x1C 4 Bytes Bảng 3.9 Chức năng của bit Attrib Attrib Bit Function LFN Comment 0(LSB) Read Only 1 Not allow writing 1 Hidden 1 Not show in dir listing 2 System 1 File is operating system 3 Volume ID 1 File is Volume ID 4 Directory X Is a subdirectory 5 Archive x Change sine last backup Short Filename: Có chiều dài 11 Byte, mỗi byte chứa 1 ký tự của tên (ASCII) theo định dạng 8.3 (8 ký tự ASCII của tên + 3 ký tự mở rộng), nếu tên File/Folder ngắn hơn 8 ký tự thì vùng còn trống sẽ được chèn ký tự space. Byte đầu tiên phải có giá trị khác 0x00 và 0xE5. Attrib Byte: Cung cấp các thông tin về File/Folder như: Read only, Hidden, System File, Directorty… First Cluster: Cung cấp địa chỉ bắt đầu của File/Folder (4 Byte). File Size: Chiều dài 1 File tối đa 232 = 4GB. Long filename text: Tương tự như Short Filename, nhưng sẽ thêm vào một vài entries trước entries thông thường (Entry thông thường là entry có chứa địa chỉ đầu tiên và dung lượng của File/Folder đó) để quản lý tên File/Folder (tên lớn hơn 13 ký tự bao gồm tên mở rộng). Vì vậy vấn đề truy xuất File/Folder có tên dài chỉ nằm ở vấn đề truy xuất tên File/Folder, sau khi truy xuất tên File/Folder thì công việc còn lại giống như truy xuất File/Folder có tên ngắn. Tên File/Folder có chiều dài tối đa 255 ký tự ASCII, mỗi entry chứa 13 ký tự và số entry sử dụng luôn là số nguyên vì vậy nếu entry chứa các ký tự cuối cùng (entry đầu tiên) có số ký tự nhỏ hơn 13 thì sẽ được thêm vào các byte 0x00 0x00 (UTF) hoặc 0xFF 0xFF. - Quá trình đọc Entry của File/Folder có tên dài (LFN) hoàn toàn tương tự quá trình đọc File/Folder có tên ngắn, nhưng có sự thay đổi trong một vài trường và được mô tả như hình bên. - Entry đầu tiên của LNF chứa tên mở rộng (đối với File) và một vài ký tự cuối cùng của tên File/Folder nên được gọi là entry cuối cùng của LFN. Vùng còn trống trong entry này sẽ được thêm vào 0xFF 0xFF. - Byte đầu tiên của các Entry (Sequence Number) có chiều dài 7 bit và bit thứ 7 để báo cho chương trình biết đây là entry cuối cùng của LFN (nằm đầu tiên). Bảng 3.10 Kích thước chi tiết entry của long file name Offset Length Description 0x00 1 Byte Sequence Number 0x01 10 Byte Name Characters (5 UTF) 0x0B 1 Byte Attrib (Always 0x0F) 0x0C 1 Byte Reserved (Always 0x00) 0x0D 1 Byte Checksum 0x0E 12 Byte Name Characters (6 UTF) 0x1A 2 Byte First Cluster (Always 0x00) 0x1C 4 Byte Name Character (2 UTF) Sequence Number: Đối với Short File Name thì đây là Byte chứa ký tự đầu tiên của tên File. Nhưng đối với LFN thì Byte này sẽ cho biết có bao nhiêu Entry chứa tên LFN tiếp theo. Giá trị offset của byte này là 0x40, vì vậy để xác định số lượng Entry chứa tên LFN ta lấy (Sequence Number - 0x40). Entry tiếp theo, Sequence Number sẽ có giá trị (Sequence Number - 0x40 - 1) và giá trị của byte này ở các Entry tiếp theo sẽ giảm đi 1 cho đến khi bằng 0x01 thì đây là Entry cuối cùng của LFN. Entry tiếp theo sẽ chứa tên Short File Name (8.3 ; 8 ký tự đầu tiên được viết hoa và đuôi mở rộng) của File/Folder đó và cho biết dung lượng và Cluster đầu tiên của File/Folder. Ví dụ: File có tên dài “File with very long filename.txt” thì sẽ được lưu trong các Entry như sau: Sequence No. Entry Data 0x43 “me.txt” 0x02 “y long filena” 0x01 “File with ver” ??? Normal 8.3 entry Attrib: Luôn luôn là 0x0F trong LFN. Name Character: Gồm 13 ký tự UTF (26 byte) được phân bố ở 3 vị trí offset trong entry LFN. First Cluster: Luôn luôn là 0x00, byte này chỉ có giá trị trong entry Short File Name. 3.8 Phân tích bảng FAT và cách truy xuất File/Folder 3.8.1 Định nghĩa bảng FAT Bảng FAT là bản đồ địa chỉ của Partition. Nhưng thay vì quản lý đơn vị Byte/Sector của Partition thì ở đây chúng quản lý số Cluster của Partition. Nhiệm vụ của bảng FAT cho hệ thống biết File/Folder nằm trên những Cluster nào của Partition. Mỗi một vị trí trên bảng FAT (12/16/32 bit) được gọi là đơn vị bảng FAT, mỗi đơn vị ở vị trí tương ứng (từ 0 trở đi) biểu diễn cho 1 Cluster trên Partition. Sự khác nhau cơ bản giữa FAT12/16/32 là đơn vị bảng FAT. Trong FAT12, để biểu diễn cho 1 Cluster người ta sử dụng 12 bit. Vì vậy việc đọc bảng FAT trở nên gặp khó khăn vì 12 bit không phải là số nguyên của 1 byte (8 bit) do phải hiệu chỉnh liên tục và FAT16 đã khắc phục vấn đề này, để biểu diễn cho 1 Cluster người ta sử dụng 2 byte. Tuy nhiên dung lượng của các thiết bị lưu trữ ngày càng lớn nên FAT16 không thể đáp ứng được yêu cầu. Như vậy, FAT32 đáp ứng các thiết bị có dung lượng lớn. Bảng 3.11 Cấu trúc bảng FAT 3.8.2 Cấu trúc bảng FAT Chúng ta hãy hình dung về Partition, đầu mỗi Partition là PBR (Volume ID) có chiều dài 1 sector kế đến là vùng Reserved tiếp theo là 2 bảng FAT và tiếp tục là vùng Cluster sử dụng mà trên cùng là Root Directory. Toàn bộ vùng PBR, FAT Table được hệ thống cấp 2 Cluster. Từ Cluster thứ 2 trở đi được sử dụng cho việc lưu File/Folder (Root Directory từ Cluster thứ 2 trở đi). Lưu ý: Chiều dài của bảng FAT được hệ thống xác định ngay lần đầu khi Format, chiều dài của bảng FAT đọc được từ PBR và có giá trị cố định tùy vào dung lượng mỗi device. FAT chỉ quản lý File. Mỗi đơn vị FAT32 có chiều dài 32 bit chứa địa chỉ của Cluster tiếp theo. Ví dụ: Root Directory được chứa tại Cluster 2, tại đơn vị FAT32 thứ 2 chứa giá trị 0x0009. Như vậy, Cluster tiếp theo chứa Root Directory là cluster 0x0009. Tương tự cho các đơn vị FAT 0x000A, 0x000B, 0x0011. Đơn vị chứa 0xFFFF sẽ báo cho hệ thống biết kết thúc File. CHƯƠNG 4 LCD TFT&TSC 4.1 Giới thiệu ILI9320 ILI9320 là bộ điều khiển chip SoC 262,144 màu cho LCD TFT với độ phân giải 240x320 RGB điểm ảnh, bao gồm một trình điều khiển nguồn 720 kênh, một trình điều khiển cổng 320 kênh, 172,800 bytes RAM cho dữ liệu đồ họa của 240x320 RGB điểm ảnh, và mạch cung cấp nguồn. ILI9320 có bốn loại giao diện hệ thống: giao diện hệ thống MPU, giao diện VSYNC, giao diện truyền dữ liệu nối tiếp (SPI), giao diện RGB. Trong chế độ giao diện RGB và VSYNC, việc sử dụng kết hợp chức năng ghi của RAM tốc độ cao và chức năng cửa sổ địa chỉ cho phép hiển thị một hình ảnh động ở một vị trí được chỉ định bởi người dùng và hình ảnh tĩnh tại các khu vực khác trên màn hình cùng lúc. ILI9320 có thể hoạt động ở điện áp 1.65V và một mạch điện áp kết hợp đi theo để tạo ra các mức điện áp lái với màn hình LCD. ILI9320 cũng hỗ trợ một chức năng để hiển thị 8 màu sắc và chế độ ngủ, cho phép kiểm soát nguồn chính xác bởi phần mềm và các tính năng này làm cho ILI9320 thành một bộ lái LCD lý tưởng cho sản phẩm kích thước vừa hay nhỏ như điện thoại di động, điện thoại thông minh, PDA… 4.2 Những đặc trưng của ILI9320 - Chip đơn giải pháp cho một màn hình tinh thể lỏng QVGA TFT LCD. - 240x320 điểm ảnh với độ phân giải 262.144 màu hiển thị thực. - Hỗ trợ MVA xem màn hình rộng. - Kết hợp 720 kênh lái nguồn và 320 kênh lái cổng. - 172.800 byte nội RAM đồ họa. - Chức năng ghi RAM tốc độ cao. - Hệ thống giao diện: Giao diện MPU hệ thống i80 (8/9/16/18 bit chiều rộng). Giao diện VSYNC (giao diện hệ thống + VSYNC, clock nội, DB [17:0]). Giao diện truyền dữ liệu nối tiếp (SPI). Giao diện RGB 6/16/18 bit (DOTCLK, VSYNC, HSYNC, ENABLE, DB [17:0]). - Điều khiển n-dòng tinh thể lỏng AC. - Dao động nội và reset bằng phần cứng. - Chức năng thay đổi kích thước (×1/2, ×1/4). - Điều khiển chuyển hướng ngược lại nguồn/cổng. - Chức năng cửa sổ địa chỉ để xác định một khu vực hình chữ nhật để truy cập GRAM nội. - Chức năng bit hoạt động để tạo điều kiện cho xử lý đồ họa dữ liệu. - Hàm BIT-đơn vị ghi dữ liệu mặt nạ. - Hàm ghi pixel-đơn vị logic/điều kiện. - Những chức năng mở rộng cho phép kiểm soát màu sắc hiển thị. - Hàm định hướng γ cho phép hiển thị trong 262.144 màu. - Chức năng line-đơn vị di chuyển thẳng đứng. - Chức năng điều khiển một phần, cho phép điều khiển một phần màn hình LCD tại các vị trí được chỉ định bởi người sử dụng. - Kết hợp mạch đếm lên cho đếm lên một cấp điện áp điều khiển tinh thể lỏng lên đến 6 lần (x6). - Chức năng tiết kiệm năng lượng. - Chế độ 8 màu sắc. - Chế độ chờ. Chế độ Sleep. 4.3 Sơ đồ khối Hình 4.1 Sơ đồ khối của LCD 4.4 Mô tả chân Hình 4.2 Sơ đồ chân LCD (chế độ 16 bit) - D0-D15: 16 đường truyền data. - 4 chân (X+, X-, Y+, Y- ): 4 đường điều khiển touch. - Vcc: nguồn. - Một số chân cài đặt chức năng: CS, RS, WR, RD, REST. 4.5 Mô tả khối 4.5.1 Giao tiếp hệ thống MPU ILI9320 hỗ trợ giao tiếp hệ thống tốc độ cao i80 với cổng song song 8/9/16/18 bit và giao tiếp ngoại vi nối tiếp (SPI). Chế độ giao tiếp được chọn bằng cách thiết lập các chân IM[3:0]. ILI9320 có một thanh ghi chỉ số 16 bit (IR), một thanh ghi ghi dữ liệu 18 bit (WDR), và một thanh ghi đọc dữ liệu 18 bit (RDR). IR là thanh ghi để lưu trữ thông tin chỉ số từ thanh ghi kiểm soát và GRAM nội. WDR là thanh ghi lưu trữ dữ liệu tạm thời để được ghi vào thanh ghi kiểm soát và GRAM nội. RDR là thanh ghi lưu trữ dữ liệu tạm thời được đọc từ GRAM. Dữ liệu từ MPU được ghi vào GRAM nội thì trước tiên được ghi vào thanh ghi WDR và sau đó tự động được ghi vào GRAM nội. Dữ liệu được đọc từ GRAM nội thông qua thanh ghi RDR. Do đó, dữ liệu được đọc ra bus dữ liệu là không hợp lệ khi ILI9320 đọc dữ liệu lần đầu tiên từ GRAM nội. Dữ liệu được đọc là hợp lệ sau khi ILI9320 thực hiện đọc lần thứ hai. 4.5.2 Giao tiếp RGB và VSYNC ILI9320 hỗ trợ giao tiếp RGB và giao tiếp VSYNC như là giao tiếp bên ngoài để hiển thị và di chuyển hình ảnh. Khi giao tiếp RGB được chọn, hoạt động hiển thị được đồng bộ với tín hiệu cung cấp bên ngoài VSYNC, HSYNC, và DOTCLK. Trong chế độ giao tiếp RGB, dữ liệu (DB17-0) được ghi đồng bộ với những tín hiệu theo sự phân cực của tín hiệu cho phép (ENABLE) để ngăn cản sự nhấp nháy trên màn hình hiển thị trong khi cập nhật dữ liệu hiển thị. Trong chế độ giao tiếp VSYNC, hoạt động hiển thị được đồng bộ với xung clock bên trong. Ngoại trừ đồng bộ khung thì hoạt động được đồng bộ với tín hiệu VSYNC. Dữ liệu hiển thị được ghi lên GRAM nội thông qua giao tiếp hệ thống. Trong trường hợp này, có những sự ràng buộc trong tốc độ và phương pháp trong việc ghi dữ liệu lên RAM nội. ILI9320 cho phép chuyển giữa giao tiếp hiển thị bên ngoài và giao tiếp hệ thống lệnh để giao tiếp tối ưu được chọn để hiển thị hình ảnh lên màn hình (ảnh tĩnh hoặc ảnh động). Giao tiếp RGB với việc ghi tất cả dữ liệu hiển thị lên RAM nội, chỉ cho phép chuyển dữ liệu khi cập nhật khung ảnh động, góp phần cho yêu cầu nguồn thấp trong hiển thị ảnh động. 4.5.3 Bộ đếm địa chỉ (AC) Bộ đếm địa chỉ (AC) gửi 1 địa chỉ đến GRAM nội. Khi chỉ số của thanh ghi thiết lập địa chỉ RAM trong AC được gửi đến IR thì thông tin địa chỉ sẽ được gửi từ IR đến AC. Khi ghi dữ liệu vào GRAM nội thì địa chỉ trong AC tự động cập nhật tăng 1 hoặc giảm 1. Chức năng cửa sổ địa chỉ cho phép ghi dữ liệu tùy ý chỉ trong khu vực hình chữ nhật trên GRAM được thiết lập bởi người dùng. 4.5.4 RAM đồ họa (GRAM) GRAM là RAM đồ họa lưu trữ các bit dữ liệu mô hình của 172.820 (240x320x18/8) byte với 18 bits/pixel. 4.5.5 Grayscale Voltage Generating Circuit Mạch phát điện áp màu xám tạo ra một mức áp lái tinh thể lỏng theo dữ liệu màu xám được thiết lập trong thanh ghi γ- correction để hiển thị trong 262.144 màu. 4.5.6 Timing Controller Timing generator tạo ra một tín hiệu thời gian cho hoạt động của các mạch bên trong như GRAM nội. Thời gian cho các hoạt động hiển thị như hoạt động đọc RAM và thời gian cho các hoạt động bên trong như truy cập từ MPU được tạo ra theo cách không gây nhiễu lẫn nhau. 4.5.7 Bộ tạo dao động (OSC) ILI9320 cài đặt điện trở bên trong/bên ngoài để tạo ra tần số dao động và điện trở bên trong sẽ được sử dụng trong thiết lập mặc định. Người dùng có thể điều chỉnh tỷ lệ khung hình do thanh ghi R2bh và R90h khi điện trở bên trong được sử dụng hoặc điều chỉnh tỷ lệ khung hình bằng điện trở bên ngoài được đặt giữa các chân OSC1 và OSC2. 4.5.8 Mạch điều khiển LCD Các mạch điều khiển LCD của ILI9320 bao gồm một điều khiển nguồn 720 ngõ ra (S1 đến S720) và điều khiển cổng 320 ngõ ra (G1 đến G320). Dữ liệu mẫu hiển thị bị khóa khi bit dữ liệu đầu vào là bit thứ 720. Dữ liệu then chốt kiểm soát việc điều khiển nguồn và tạo ra một dạng sóng điều khiển. Bộ điều khiển cổng cho phép quét các dòng đầu ra cổng hoặc mức VGH hoặc mức VGL. Hướng chuyển đổi 720 ngõ ra nguồn từ bộ điều khiển nguồn được thiết lập với bit SS và hướng chuyển đổi của đầu ra cổng từ bộ điều khiển cổng được thiết lập với bit GS. Chế độ quét bằng bộ điều khiển cổng được thiết lập bởi bit SM. Các bit này cho phép thiết lập một phương pháp quét thích hợp cho một module LCD. 4.5.9 Mạch cấp nguồn điều khiển LCD Mạch cấp nguồn điều khiển LCD tạo ra những mức điện áp VREG1 OUT, VGH, VGL và VCOM để điều khiển LCD. 4.6 Giao tiếp hệ thống 4.6.1 Đặc tính của giao tiếp ILI9320 có giao diện hệ thống để đọc/ghi vào các thanh ghi kiểm soát, bộ nhớ hiển thị đồ họa (GRAM) và giao diện ngõ vào RGB để hiển thị ảnh động. Người dùng có thể chọn một giao diện tối ưu để hiển thị hình ảnh động hay tĩnh sao cho truyền dữ liệu hiệu quả. Mọi dữ liệu hiển thị được lưu trữ trong GRAM để giảm bớt việc cố gắng chuyển dữ liệu và chỉ cập nhật dữ liệu khi cần thiết chuyển. Người dùng chỉ có thể cập nhật một khoảng dưới của GRAM bằng cách sử dụng chức năng cửa sổ địa chỉ. ILI9320 cũng có giao diện RGB và giao diện VSYNC để chuyển dữ liệu mà không nhấp nháy ảnh động hiển thị trên màn hình. Trong chế độ giao diện RGB, dữ liệu hiển thị được ghi vào GRAM thông qua các tín hiệu điều khiển của ENABLE, VSYNC, HSYNC, DOTCLK và bus dữ liệu DB[17:0]. Trong chế độ giao diện VSYNC, thời gian hiển thị bên trong được đồng bộ với tín hiệu đồng bộ khung (VSYNC). Chế độ giao diện VSYNC cho phép hiển thị hình ảnh chuyển động thông qua giao diện hệ thống. Trong trường hợp này, có một số hạn chế của tốc độ và phương pháp để ghi dữ liệu vào RAM nội. ILI9320 hoạt động ở một trong bốn chế độ như bảng sau đây. Các chế độ hiển thị có thể được chuyển đổi do thanh ghi điều khiển. Khi chuyển đổi từ một chế độ khác thì các trình tự được đề cập trong các phần của giao diện RGB và VSYNC. Hình 4.3 Kết nối giao diện hệ thống với giao diện RGB 4.6.2 Input Interfaces Sau đây là giao diện hệ thống của ILI9320. Giao diện này được lựa chọn bằng cách thiết lập các chân IM[3:0]. Giao diện hệ thống được sử dụng để cài đặt thanh ghi và truy cập GRAM. Có bốn loại giao diện hệ thống: Giao diện hệ thống i80/18bit được chọn bằng cách thiết lập các chân IM[3:0] là "1010". Giao diện hệ thống i80/16bit được chọn bằng cách thiết lập các chân IM[3:0] là "0010". Giao diện hệ thống i80/9bit được chọn bằng cách thiết lập các chân IM[3:0] là “1011” và các chân từ DB17 đến DB9 được sử dụng để chuyển dữ liệu. Giao diện hệ thống i80/8bit được chọn bằng cách thiết lập các chân IM[3:0] là "0011" và các chân từ DB17 đến DB10 được sử dụng để chuyển dữ liệu. Giao tiếp hệ thống i80/16bit Giao diện hệ thống i80/16bit được chọn bằng cách thiết lập IM[3:0] là mức "0010". Màu sắc 262K hay 65K có thể được hiển thị qua giao diện MPU 16 bit. Khi màu 262K được hiển thị, hai cách chuyển (chuyển thứ 1: 2 bit, chuyển thứ 2: 16 bit hoặc chuyển thứ 1: 16 bit, chuyển thứ 2: 2 bit) là cần thiết cho giao diện MPU 16 bit. Hình 4.3 Định dạng dữ liệu giao diện hệ thống 16 bit 4.6.3 Giao tiếp ngoại vi nối tiếp SPI Giao tiếp ngoại vi nối tiếp (SPI) được chọn bằng cách thiết lập những chân IM[3:0] là "010x". Chân chọn chip (nCS), chân xung đồng bộ truyền nối tiếp (SCL), chân dữ liệu nối tiếp ngõ vào (SDI) và chân dữ liệu nối tiếp ngõ ra (SDO) được sử dụng trong chế độ SPI. Chân ID thiết lập bit có trọng số thấp nhất của mã nhận dạng (ID code). Các chân DB [17:0], mà không được sử dụng, phải được gắn với một trong hai I/O là Vcc hoặc DGND. Các hoạt động giao tiếp SPI cho phép từ cạnh xuống của tín hiệu chân nCS và kết thúc của truyền dữ liệu trên cạnh lên của tín hiệu chân nCS. Byte bắt đầu được truyền để bắt đầu giao diện SPI và hoạt động đọc/ghi và thông tin RS cũng được bao gồm trong byte bắt đầu. Khi byte bắt đầu là phù hợp, dữ liệu sau đó mới được nhận bởi ILI9320. Bit thứ bảy của byte bắt đầu là RS bit. Khi RS = "0", hoặc là hoạt động ghi chỉ số hoặc hoạt động đọc trạng thái được thực hiện. Khi RS = "1", hoặc là hoạt động ghi thanh ghi hoặc hoạt động đọc/ghi RAM được thực hiện. Bit thứ tám của byte bắt đầu được sử dụng để chọn hoạt động đọc hay ghi (R/W bit). Dữ liệu được ghi khi R/W bit là "0" và đọc khi R/W bit là "1". Sau khi nhận được byte bắt đầu, ILI9320 bắt đầu truyền hoặc nhận dữ liệu trong đơn vị của byte và truyền dữ liệu bắt đầu từ bit MSB. Tất cả các thanh ghi của ILI9320 được định dạng 16 bit và nhận được đầu tiên và byte dữ liệu thứ hai như tám bit trên và tám bit của thanh ghi 16 bit tương ứng. Trong chế độ SPI, 5 byte đuợc giả sử đọc là cần thiết và dữ liệu hợp lệ bắt đầu từ byte thứ 6 của dữ liệu đọc về. Hình 4.4 Định dạng dữ liệu của giao tiếp SPI 4.6.4 Giao tiếp VSYNC ILI9320 hỗ trợ giao tiếp VSYNC trong việc đồng bộ với tín hiệu đồng bộ khung VSYNC để hiển thị hình ảnh động với giao diện hệ thống i80. Khi giao diện VSYNC được chọn để hiển thị một hình ảnh động, tốc độ cập nhật GRAM tối thiểu là hạn chế và giao tiếp VSYNC được kích hoạt bằng cách thiết lập DM[1:0] = "10" và RM = "0". Hình 4.5 Truyền dữ liệu qua giao tiếp VSYNC Trong chế độ VSYNC, hoạt động hiển thị được đồng bộ với xung clock bên trong và ngõ vào VSYNC và tỷ lệ khung được xác định bởi tốc độ xung của tín hiệu VSYNC. Mọi dữ liệu hiển thị được lưu trữ trong GRAM để giảm thiểu tổng số dữ liệu chuyển được yêu cầu cho hiển thị hình ảnh động. Hình 4.6 Truyền dữ liệu ảnh động qua giao tiếp VSYNC Hình 4.7 Sự hoạt động qua giao tiếp VSYNC 4.6.5 Giao tiếp RGB Chế độ giao tiếp RGB thì có sẵn cho ILI9320 và giao tiếp được chọn bằng cách thiết lập các bit RIM [1:0] như bảng sau: Hình 4.8 Định dạng dữ liệu của giao tiếp RGB 16 bit 4.6.5.1 Hoạt động của giao tiếp RGB Hoạt động hiển thị thông qua giao tiếp RGB được đồng bộ với các tín hiệu VSYNC, HSYNC, và DOTCLK. Giao diện RGB chuyển dữ liệu cập nhật đến GRAM với chức năng ghi tốc độ cao và vùng cập nhật được xác định bởi chức năng cửa sổ địa chỉ. Cổng sau và cổng trước được sử dụng để thiết lập thời gian giao diện RGB. Hình 4.9 Vùng truy cập GRAM bằng giao tiếp RGB 4.6.5.2 Chế độ ảnh động trong giao tiếp RGB ILI9320 có giao tiếp RGB để hiển thị hình ảnh động và kết hợp GRAM để lưu trữ dữ liệu hiển thị, để có chất lượng trong việc hiển thị một hình ảnh động. • Chức năng cửa sổ địa chỉ xác định vùng cập nhật của GRAM. • Chỉ vùng hình ảnh động của GRAM mới được cập nhật. • Khi hiển thị hình ảnh động trong chế độ giao tiếp RGB, DB[17:0] có thể được chuyển sang giao tiếp hệ thống để cập nhật khu vực hình ảnh tĩnh và các thanh ghi, như là các biểu tượng. 4.6.5.3 Truy cập RAM thông qua một giao tiếp hệ thống trong chế độ RGB-I/F ILI9320 cho phép truy cập GRAM thông qua giao tiếp hệ thống trong chế độ giao tiếp RGB. Trong chế độ giao tiếp RGB, dữ liệu được ghi vào GRAM nội trong sự đồng bộ với các tín hiệu DOTCLK và ENABLE. Khi ghi dữ liệu vào GRAM nội bằng giao diện hệ thống, thiết lập ENABLE để kết thúc giao tiếp RGB và chuyển sang giao tiếp hệ thống để cập nhật các thanh ghi (RM = "0") và hình ảnh tĩnh của GRAM. Khi khởi động lại truy cập RAM trong chế độ giao tiếp RGB, chờ một chu kỳ đọc/ghi và sau đó set RM="1" và thanh ghi chỉ số là R22h để bắt đầu truy cập RAM thông qua giao tiếp RGB. Nếu truy cập RAM thông qua hai giao diện xung đột, thì không bảo đảm rằng dữ liệu được ghi vào GRAM nội. 4.6.5.4 Giao tiếp RGB 16 bit Giao diện RGB 16 bit được chọn bằng cách thiết lập bit RIM [1:0] là "01". Hoạt động hiển thị được đồng bộ với các tín hiệu VSYNC, HSYNC, và DOTCLK. Dữ liệu hiển thị được chuyển cho RAM nội trong sự đồng bộ với hoạt động hiển thị thông qua bus dữ liệu RGB 16 bit (DB17-13, DB11-1) theo tín hiệu cho phép dữ liệu (ENABLE). Các thanh ghi chỉ được thiết lập thông qua giao diện hệ thống. Hình 4.10 Định dạng dữ liệu giao tiếp RGB 16 bit 4.7 Mô tả thanh ghi 4.7.1 Truy cập các thanh ghi ILI9320 thông qua cấu trúc giao diện bus 18 bit cho vi xử lý hiệu năng cao. Tất cả các khối chức năng của ILI9320 bắt đầu làm việc sau khi nhận được chỉ dẫn chính xác từ các bộ vi xử lý bên ngoài bởi giao diện 18, 16, 9, 8 bit. Thanh ghi chỉ số (IR) chứa địa chỉ thanh ghi đến nơi mà hướng dẫn và dữ liệu hiển thị sẽ được ghi. Thanh ghi lựa chọn tín hiệu (RS), các tín hiệu đọc/ghi (nRD/nWR) và bus dữ liệu D17-0 được sử dụng để đọc/ghi các hướng dẫn và dữ liệu của ILI9320. Thanh ghi của ILI9320 được phân loại thành các nhóm sau đây: 1. Chỉ định các chỉ số của thanh ghi (IR). 2. Đọc một trạng thái. 3. Điều khiển hiển thị. 4. Điều khiển quản lý nguồn. 5. Đồ họa xử lý dữ liệu. 6. Thiết lập nội bộ địa chỉ GRAM (AC). 7. Truyền dữ liệu đến/từ GRAM nội (R22). 8. Internal grayscale γ-correction (R30-R39). Thông thường, dữ liệu hiển thị (GRAM) thường được cập nhật, và theo thứ tự từ ILI9320 có thể cập nhật địa chỉ GRAM nội tự động như nó ghi dữ liệu vào GRAM nội và hạn chế tối đa truyền dữ liệu bằng cách sử dụng chức năng cửa sổ địa chỉ, có ít tải trên chương trình trong bộ vi xử lý này. Theo các hình sau đây cho thấy, cách gán các bit dữ liệu để 16 bit thanh ghi (D [15:0]) khác nhau cho mỗi giao diện. Gửi thanh ghi theo các định dạng dữ liệu truyền dẫn sau. Hình 4.11 Thiết lập thanh ghi với giao tiếp SPI Hình 4.12 Thiết lập thanh ghi với giao tiếp hệ thống i80 16 bit dữ liệu 4.7.2 Mô tả hướng dẫn Bảng 4.1 Bảng Init LCD Register Address Value Start Oscillation 00h 0001h Driver Output Control 01h 0100h LCD Driving Wave Control 02h 0700h Entry Mode 03h 1038h Resizing Control Register 04h 0000h Display Control 1 07h 0173h Display Control 2 08h 0202h Display Control 3 09h 0000h Display Control 4 0Ah 0000h RGB Display Interface Control 1 0Ch 0000h Frame Marker Position 0Dh 0000h RGB Display Interface

Các file đính kèm theo tài liệu này:

  • docam_thanh_hinh_anh_final.doc