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
-
Trả lời cho Hàn chì thiếc lên nhôm.bởi nhathung1101À há! Bà í quen cầm cục hàn khò...
Hàn khò có cần "dung môi" không nhỉ?...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 16:30 -
-
Trả lời cho Hàn chì thiếc lên nhôm.bởi vi van phamSai bét. Bà í không biết cầm mỏ hàn điện (phải viết to chữ điện), nên tui ra chơi với diễn đàn . Chớ thấy vậy mà chê bai tui.
...
-
Channel: Tâm tình dân kỹ thuật
10-03-2025, 20:54 -
-
Trả lời cho Biết gì nói nấy, cãi chửi thoải máibởi nhathung1101Và mai tôi lại phải bay...
Chỉ mong muốn anh em hiểu: Là đừng làm dối lòng, khiến đàn em nức nở..
Cứ cãi nhau, ra việc lớn. Chứ đừng vì cái "tôi" rồi làm hỏng bọn chúng..
Ai hiểu cứ nói. Ai thấy sai cứ cãi. Kỹ thuật là vậy. Chỉ đúng khi có kết quả.-
Channel: Tâm tình dân kỹ thuật
10-03-2025, 20:37 -
-
Trả lời cho Biết gì nói nấy, cãi chửi thoải máibởi nhathung1101Xin thưa là tôi rất dốt món Ing Lịch. Chỉ là các bạn đưa lên những từ không ai hiểu, nên tôi phải theo.
Chứ ngày xưa được huấn luyện, cũng không như bạn nói đâu, và bạn Mỹ của tôi, hiểu như người nhà.
Bạn học giỏi thì đưa mấy từ lên đây đi, về điện tử thuần túy để anh em nghiên cứu....-
Channel: Tâm tình dân kỹ thuật
10-03-2025, 19:59 -
-
Trả lời cho Biết gì nói nấy, cãi chửi thoải máibởi nhathung1101Tôi "cũng tưởng thế". Nhưng giờ tôi sẽ để họ hiểu "Phổ biến kiến thức đường phố" nó khác thế nào.
Mời bạn theo dõi tiếp....-
Channel: Tâm tình dân kỹ thuật
10-03-2025, 19:53 -
-
Trả lời cho Biết gì nói nấy, cãi chửi thoải máibởi nhathung1101Lão lại quên: Nhất Thủy nhì Hỏa
Hà Nội lụt thì toi cả quần chip....-
Channel: Tâm tình dân kỹ thuật
10-03-2025, 19:49 -
-
Trả lời cho Biết gì nói nấy, cãi chửi thoải máibởi nhathung1101Cứ cãi chửi nhau đi mà...
Nhưng nhớ là vào đây cãi chửi nhau, chứ mấy luồng kỹ thuật bên ngoài thì làm cho đúng.
Ai thích cãi chửi nhau cứ vào đây gặp tôi!-
Channel: Tâm tình dân kỹ thuật
10-03-2025, 19:45 -
-
Trả lời cho Hàn chì thiếc lên nhôm.bởi nhathung1101
Lão lại bị bà í bắt ngủ riêng rồi....
...
-
Channel: Tâm tình dân kỹ thuật
10-03-2025, 19:38 -
-
Trả lời cho Sạc bình acquy 30ahbởi nhathung11014r có luồng "Đánh giá...." sao không đăng???
Đề nghị bqv chuyển luôn. Và xóa bài của tôi luôn cho gọn....-
Channel: Điện tử dành cho người mới bắt đầu
10-03-2025, 19:32 -
-
Trả lời cho Hỗ trợ tìm linh kiện mạch hạ áp 220V - 110Vbởi davidcopyTheo như A.I phân tích thì mạch này ghim điện DC ngõ ra, tụ 250VDC thì ngõ vào khoảng 220VDC là ok....
-
Channel: Hướng dẫn tìm thông tin linh kiện
08-03-2025, 11:45 -
Comment