Hệ thống nhúng là gì, nó như thế nào, hiện nay người ta thường nói từ "embedded" tức là nhúng. Từ trước đến giờ mình biết bao nhiêu là nhúng, bò nhúng giấm nè, bánh tráng nhúng nước Trảng Bàng nè... còn hệ thống nhúng như thế nào? Những sản phẩm làm ra từ hệ thống nhúng rất quen thuộc trong cuộc sống hằng ngày, ví dụ như cái tủ lạnh, máy giặt, máy điều hòa nhiệt độ đến cả những chiếc điện thoại di động mà mấy em gái thường vòi vĩnh bố mẹ mua cho bằng được, để...
Nội dung trích xuất từ tài liệu:
Microblaze TutorialMicroblaze TutorialHệ thống nhúng là gì, nó như thế nào, hiện nay người ta thườngnói từ embedded tức là nhúng. Từ trước đến giờ mình biết baonhiêu là nhúng, bò nhúng giấm nè, bánh tráng nhúng nước TrảngBàng nè... còn hệ thống nhúng như thế nào?Những sản phẩm làm ra từ hệ thống nhúng rất quen thuộc trongcuộc sống hằng ngày, ví dụ như cái tủ lạnh, máy giặt, máy điềuhòa nhiệt độ đến cả những chiếc điện thoại di động mà mấy em gáithường vòi vĩnh bố mẹ mua cho bằng được, để mỗi lần chuông điệnthoại reng te te như dzế kêu. Những tín năng đó được hiểu đạikhái như là kết quả xử lý Midi tạo ra âm thanh từ hệ thốngnhúng, và là trái tim của chiếc điện thoại.kamejoko đã nghe nói nhiều về embedded nhưng cũng có lúc mơ hồvà lùng bùng cái lỗ tai. Trong hệ thống nhúng lại chia ra nhiềumảng khác nhau, tùy theo từng ứng dụng cụ thể. Mình muốn ôm tấtcả, học luôn nguyên một thể Tôi muốn ôm cả đất, tôi muốn ôm cảtrời, mà sao em ơi, tôi không ôm nổi một con người hehhe. Thếlà mỗi tối kamejoko lại lang thang trên mạng, tìm kiếm lùng sụctrên trang google để có thêm nhiều kiến thức.Embedded devices chắc có lẽ được chia ra thành 3 mảng chính, đólà ARM, DSP, FPGA. Cái mà kamejoko muốn đề cập ở đây chính là bộvi xử lý processor, là trái tim của hệ thống nhúng. Kamejoko đãtừng thử qua hệ thống ARM của Phillips, nhưng cũng chỉ dừng lạiở phần firmware mà thôi.Sau nhiều lần đắn đo, để tự học embedded thì cần phải trang bịcho mình những device nào? những kit ARM có sẳn giá tương đốikhá cao, nhưng học embedded chỉ chuyên sâu vào firmware thì chưađủ. Cơ duyên đưa mình đến với FPGA, để có được một kit FPGA thìcũng không khó, vì sản phẩm của Xilinx có nhiều mức giá khácnhau, cũng như có nhiều tiền thì ta có thể chọn được món ănngon, còn không thì chọn những nón ăn tàm tạm, nhưng vẫn đảm bảomình no bụng. Và khi tìm hiểu kamejoko nhận ra một điều: Xillinxcó nguồn resource rất lớn. Ý mình nói đến đó là các applicationnotes, và các tool design của Xilinx luôn được update nhanh đếnmức chóng mặt.Và kamejoko nghĩ rằng sự lựa chọn FPGA để họcembbeded là đúng, vì khi đi sâu vào thiết kế đòi hỏi designerphải am hiểu cả hardware lẫn software. Ôi, lùng bùng lỗ tai quárồi phải không!!!Microblaze là cái gì??? Nó là một processor, là tên một loại vixử lý giống như VXL Intel vậy. Nhưng có điều, khi cần một conVXL Intel, anh có thể ra cửa hàng máy tính, bỏ ra vài chục đếnvài trăm USD là có thể mang nó về. Đối với Microblaze, anh khôngthể ra cửa hàng mua nó mang về được, mà phải dùng tool củaxilinx design thành một hệ thống Microbalze hoàn chỉnh.Chi tiết hơn, con chip FPGA của hãng Xilinx sản suất là một khốirỗng. Nó là mạng của các cổng logic chưa được kết nối vớinhau. Công việc của designer là dùng tool của Xilinx kết nối cáccổng lại thành mạch điện cụ thể và nó phải chạy theo ý đồ củangười thiết kế đặt ra.Cao hơn, một khi có Microblaze là trái tim của hệ thống, cầnphải có những thiết bị ngoại vi (IO) đi theo. Cũng như nhữngthiết bị ngọai vi chuột, bàn phím... Xilinx cung cấp chodesigner một danh sách các ngoại vi được gọi là IP corecataloge. Designer chỉ việc chọn từng món mà mình thích, mà nhắcđến chọn món thì phải tính đến trả tiền. Tức là trong danh sáchIP core đó có loại được khuyến mãi miễn phí (món tráng miệng),và có món phải trả tiền. Thú vị phải không, công việc design củamột anh kỹ sư cũng giống công việc đi chợ hằng ngày của các chịem phụ nữ, cũng phải đắn đo xem xét xem giá thành của hệ thốnggiảm được bao nhiêu trong khi vẫn đảm bảo tính năng mà yêu cầuđặt ra.Còn nếu anh nghèo nhưng có ý tưởng thì có thể tự mình tạo ra IP,không chọn thứ nào trong IP cataloge cả. Cái mà kamejoko sắptrình bày dưới đây. Có người bảo mình tại sao không dám bỏ tiềnra mua những thức ăn ngon mà lại đầu tư vào nhửng thứ vô bổ nhưvầy, mình chỉ có thể trả lời mình rất máu về lĩnh vực này,ngòai ra không có gì cả. Và kamejoko muốn chia sẻ cho nhữngngười cũng có máu như mình.--------------------------------------------------------------------Sau đây là các bước thực hiện LCD demo cho microblaze.Tool : EDK 8.2Demo trên board ML403, tuy nhiên vẫn có thể thay đổi chút ít choboard Spartan3E StarterHướng dẫn step by step, hình hơi nhiều, thông cảm nhá.Chú ý: Vài bước được thông qua ( để mặc định và ấn nút next)thay vì post hình đầy đủ.----------------------------------------------------------------------PHAN 1 : Setup hardware----------------------------------------------------------------------1> Start XPS 8.2i2> Tạo thư mục chứa project3> Creat new base system4> Select Board (chú ý: một số board có nhiều revision khácnhau, nên chọn revison thích hợp)5> Chọn món ăn tùy vào túi tiền6> Creat Custom hardware (lcd port)Sau khi hoàn tất các bước trên, XPS tạo ra các file có cấu trúcnhư sau:Phần hardware chứa trong thư mục pcores, bao gồm tên (lcd_port)gắn với version hardware chỉ định (lcd_port_v1_00_a)Phần software chứa trong thư mục drivers (sẽ được trình bàytrong phần sau)7> Edit custom hardwareSau khi thực hiện xong thao tác creat custom peipheral (dùng busOPB), XPS tạo ra 2 file source vhdl bao gồm name.vhd vàuser_logic.vhd chứa trong thư mục vhdl8> Edit user_logic.vhdgoto hàng (khoảng 100) add user port theo hình sau:XPS tạo thanh ghi slv_reg0 cho truy xuất với customer ip core,trong trường hợp này ta gán cho port xuất lcdgoto hàng (khoảng 208-209) add code như hình sau9> Edit lcd_port.vhdgoto hàng (khoảng 119) add user port theo hình sau:goto hàng (khoảng 388) map portXong bước creat , edit customer OPB port10> Import custom hardwareTrên tool bar : Hardware -> Creat or import peripheralĐặt tên lcd_portChọn yes for overwriteCheck radio cho mục file .pao, browse đến đường dẫn thư mụchardware chứa file này11> Add ipcore vào bus OBPTrên tab IP Catalog chọn Project Repository, click chuột phảivào lcd_port chọn add ...