chào bạn kamejoko80. phần hướng dẫn của bạn về lập trình cho LCD rất hay.tuy nhiên trong quá trình đọc có mọt chỗ mình chưa hiểu đó là đoạn "Chọn nút radio address, trong mục size (kích thước vùng nhớ cho ngoại vi) trong drop list chọn 64K, sau đó chọn Generate Addresses, Xillin tự động tính toán các đường địa chỉ và remap lại cho toàn bộ ngoại vi" ở đây ta có thể chọn vùng nhớ cho ngoại vi LCD thấp hơn hay cao hơn được không?và vì sao bạn lại chọn như vậy. bạn hoặc ai đã hiểu có thể giải thích cho mình. thaks a lot!
Thông báo
Collapse
No announcement yet.
LCD kit spartan3E
Collapse
X
-
em đang làm đồ án nhwng rất ít có điều kiện online. Anh có thể send mail để em trao đổi không? Mail của em là nghia0205ktqs@gmail.com
Comment
-
Nếu bạn dùng EDK 9.1 thì vẫn hỗ trợ sử dụng OPB (On-Chip Peripheral Bus). GPIO
(General Purpose Input Output) là một IP core cho phép kết nối giữa giữa các bank địa chỉ (bank giống 8051 đó) với bus OPB. Chúng ta sẽ tạo một GPIO mới, đổi tên thành LCD_16x2 (tên này tùy mình chọn thôi), sau đó thiết lập độ rộng bit dữ liệu của LCD_16x2 là 7 bit (0:6) = (E,RS,RW,D7,D6,D5,D4). LCD 16x2 này sử dụng D4 đến D7 để truyền dữ liệu 8 bit, vậy là phải truyền 2 lần mới được một chuỗi data cho LCD. Các chân E,RS,RW là để điều khiển việc truyền dữ liệu đó. Công việc tiếp theo là vào file system.ucf để kết nối các chân trên với các chân của bank OPB bằng cách thêm các dòng khai báo đại loại như NET LCD_16x2<1> = EA12 ... NET LCD_16x2<2> = EF12 (cái này tuỳ board, tham khảo trên mạng). Đó là xong phần cứng, tiếp theo là đến phần mềm, các bạn cần có file lcd.h chứa các khai báo tên hàm, lcd.c chứa nội dung các hàm cho lcd như Home, ClearLCD, Write2Lines, WriteInteger, WriteFloat, ... các hàm này tìm trên mạng, nếu giỏi về đk lcd các bạn có thể viết thêm hàm tùy ý. Ứng dụng thì làm bên tab Application chắc ko phải chỉ. Làm một cái file gì đó dạng như top.c rồi include mấy cái file h vào, như xparameters.h, util.h, lcd.h, ... , rồi viết chương trình ở dưới. Có một điểm nữa là cần xác định ID DEVICE cho LCD, như đoạn này
Code:XGpio LCD_Instance; XGpio_Initialize (&LCD_Instance, LCD_DEVICE_ID); XGpio_SetDataDirection (&LCD_Instance, LCD_CHANNEL, 0);
Comment
-
Nếu bạn mới tìm hiểu về EDK thì nên thực hiện 6 bài lab của Xilnx trước , có thể down lab dành cho bản 9.2 (board Spartan3E Start Kit) tại đây : http://users.utcluj.ro/~baruch/ssce/labor/
Các lab này giới thiệu khá chi tiết, dễ hiểu và có trình tự. Bạn nên thực hiện tuần tự từng lab một. Tại lab 3 cũng có 1 bài hướng dẫn tạo IP cho LCD.
(bạn cũng có thể thực hiện các lab này ở các phiên bản EDK thấp hơn , sử dụng bus OPB , tất nhiên phải chỉnh sửa lại 1 vài thứ).
Comment
-
Hi chào các bạn, topic này đã lâu mà kame không vào, hì hì! về vấn đề delay bằng vòng for, mình chỉ ước chừng thôi, bời vì điều khiển LCD tương đối dzễ, delay bao nhiêu cũng được, miễn là dài hơn thời gian đáp ứng tối thiều của nó thôi.
Ở trên kame không cần tính toán chi cả, xung clock của CPU là 100Mhz, mình cứ định lượng chạy 1 vòng for là 1 chu kỳ (tất nhiên là lớn hơn 1 chu kỳ rồi), định lượng i x j x chu kỳ ta có được thời gian delay, đơn giản thế thôi.
Phần ví dụ trên, vì sao mình không dùng thẳng GPIO điều khiển LCD mà lại dùng custom IP làm gì ? Nếu dùng GPIO thì mình chỉ việc add vào đơn giản, viết code C là xong. Còn nếu dùng custom IP thì khó hơn, chủ ý của kame không nhằm điều khiển LCD, bởi vì thông qua cách này mình biết được qui trình tạo custom IP, và bạn có thể tạo ra các core IP FFT, IFFT... theo ý mình muốn.
Vì sao phải làm với microblaze mà không làm với picoblaze. Thực sự mà nói kame chưa làm picoblaze bao giờ, nhưng có lẽ ứng dụng của picoblaze là hạn chế, nên khi mới mua kit về kame nhảy thẳng vào tìm hiểu microblaze. CPU tính ra nó cũng gói gọn nhiêu ấy thôi, điều quan trọng là số lượng cách thành phần, IO (IP core) mà nó support, vì thế kame đã chọn Microblaze hoặc PowerPC 405.
Làm cái khó thì quá sức thường dẫn đến chán nản, nhưng mà nếu làm xong rồi thì mình cảm thấy mọi thứ dzễ dzàng hơn, chúc thành công nhé!Last edited by kamejoko80; 02-03-2009, 21:32.
Comment
-
Nguyên văn bởi xuantung Xem bài viếtchào bạn kamejoko80. phần hướng dẫn của bạn về lập trình cho LCD rất hay.tuy nhiên trong quá trình đọc có mọt chỗ mình chưa hiểu đó là đoạn "Chọn nút radio address, trong mục size (kích thước vùng nhớ cho ngoại vi) trong drop list chọn 64K, sau đó chọn Generate Addresses, Xillin tự động tính toán các đường địa chỉ và remap lại cho toàn bộ ngoại vi" ở đây ta có thể chọn vùng nhớ cho ngoại vi LCD thấp hơn hay cao hơn được không?và vì sao bạn lại chọn như vậy. bạn hoặc ai đã hiểu có thể giải thích cho mình. thaks a lot!
Comment
-
Bạn Kame ơi, bạn có thể nói cụ thể "những chú ý" trong các bước ở kit Spartan3e so với kít mà bạn sử dụng để làm Microblaze điều khiển LCD cho mọi người biết được không?Mình thử nghiệm trên Kit Spartan 3e các bước y hệt mà vẫn không được?Technical Institutes
Mobile: 0983278725
Email:
Comment
-
Như vầy! trước tiên bạn thử port của bạn vừa tạo chạy có đúng hay chưa bằng cách gán các chân ra (edit file .ucf) vào dzãy led có trên board, dùng phần mềm xuất ra port xem các led có sáng theo như ý muốn hay không.
Nếu test xong phần này bạn hãy gán vào các chân của LCD. Chú ý về thứ tự bit của port xuất có phù hợp với thứ tự chân LCD hay không, chúc thành công nhé!
Comment
-
Thanks bác kamejoko. Bài viết của bác giúp em rất nhiều trong việc tìm hiểu về MicroBlaze. Tuy nhiên, em không nạp thẳng vào bord như bác mà em phải dùng Modelsim mô phỏng trước, như thế mới test được hết các lỗi của mình. Hiện em đang thử load các core mình cần sử dụng vào Modelsim, sau đó nạp file .hex được biên dịch từ SDK vào BRAM. Em cũng đang gặp một số khó khăn. Có j mong bác chỉ giáo.
Comment
Bài viết mới nhất
Collapse
-
bởi halan99Zalo là ứng dụng được sử dụng phổ biến nhất Việt Nam hiện nay với khoảng 100 triệu người dùng và trở thành một trong các kênh marketing, bán hàng tiềm năng nhất tại Việt Nam. Bán hàng trên Zalo yêu cầu bạn phải thực sự am hiểu về...
-
Channel: Tin học ứng dụng
hôm nay, 14:12 -
-
Trả lời cho Hỏi cách điều chế xungbởi thetungBạn cho qua cái Tờ ri gơ Sờ mít ấy ......
-
Channel: Kỹ thuật điện tử tương tự
16-12-2024, 11:26 -
-
Trả lời cho Hỏi cách điều chế xungbởi nguyendinhvanCó gì mà khó ?
Răn cưa vuông đây
...-
Channel: Kỹ thuật điện tử tương tự
15-12-2024, 23:36 -
-
Trả lời cho hỏi về tụ điệnbởi ndp62Chữ " VENT" không phải là tên hãng sx tụ đâu ,vó thế là 1 ký hiệu liên quan tụ lowesr ?
-
Channel: Điện thanh
15-12-2024, 18:24 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi bqvietTrừ trường hợp công suất (rất) thấp, hầu như tất cả các loại nguồn xung thông thường đều có tụ nhỏ 1 - 10nF nối giữa sơ cấp và thứ cấp, để thoát nhiễu và để chống hiện tượng tương tự tĩnh điện. Vụ này đã thảo luận vài...
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 22:02 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi namlangnhoE thử 3 cái nguồn nó đều giống nhau. Nên e làm tiếp địa luôn.
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 19:58 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi mèomướpDạ chú sắm con át chống giật và thay nguồn tổ ong khác cho an toàn ạ. Đa phần nguồn xung đều xả nhiễu của bên thứ cấp về điện lưới qua 1 con tụ nên cảm giác tê sẽ khó xác định rõ ràng là do rò điện hay là nó vốn vậy...
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 18:51 -
-
bởi namlangnhoXin chào mọi người. E có sử dụng 1 cục nguồn tổ ong 12v-30A chạy đèn led xe trà sữa. Mà thợ thi công bị rò điện nên điện rò ra khung xe. E dùng đồng hồ đo điện ở khung xe và cả output thì thấy có dòng điện xoay chiều hơn 100v. Nên chạm...
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 00:12 -
-
bởi Manh.n.trCác bác cho em hỏi cách điều chế xung răng cưa sang xung vuông với ạ. Em đang thấy khó ạ...
-
Channel: Kỹ thuật điện tử tương tự
13-12-2024, 20:46 -
-
Trả lời cho hỏi về thiết kế mạch tuần tự trên proteusbởi Hatruong1309
-
Channel: Hỗ trợ học tập
12-12-2024, 00:33 -
Comment