BÁO CÁO THỰC TẬP-Máy bán hàng tự động

39 2K 13
BÁO CÁO THỰC TẬP-Máy bán hàng tự động

Đ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

1 MỤC LỤC MỤC LỤC 1 LỜI GIỚI THIỆU 2 PHẦN 1. GIỚI THIỆU 3 1.1. Giới thiệu về VHDL 3 1.2. Giới thiệu công nghệ (và ứng dụng) thiết kế mạch bằng VHDL 5 1.2.1 Ứng dụng của công nghệ thiết kế mạch bằng VHDL 5 1.2.2 Quy trinh thiết kế mạch bằng VHDL 5 1.2.3. Công cụ EDA 6 1.2.4. Chuyển mã VHDL vào mạch 7 PHẦN 2. BÀI TOÁN ĐIỀU KHIỂN MÁY BÁN HÀNG TỰ ĐỘNG 10 2.1 Mô tả chung 10 2.2 Các phương pháp thiết kế 12 The Design Approach 12 The Design Flow 19 2.3 Mô tả thiết kế 20 2.4 Mô phỏng 25 2.4.1 Code 25 2.4.2 Kết quả mô phỏng 34 PHẦN 3. KẾT LUẬN 39 1 2 LỜI GIỚI THIỆU & Ngày nay, với những ứng dụng của khoa học kỹ thuật tiên tiến, thế giới của chúng ta đã và đang ngày một thay đổi văn minh và hiện đại. Sự phát triển của kỹ thuật vi điện tử và vi xử lý xâm nhập mạnh mẽ vào tất cả các ngành nghề, đặc biệt là vào trong lĩnh vực thông tin, ngành bưu chính viển thông. Các bộ xử lý đã trở thành các phần tử không thể thiếu để điều khiển những thiết bị với các đặc điểm nổi bật như sự chính xác cao, tốc độ nhanh, gọn nhẹ là những yếu tố rất cần thiết cho một hệ thống số cấp cao. Đặc biệt sau mỗi năm các bộ xử lý này ngày càng được thu nhỏ về kích thước, đồng thời tăng khả năng tích hợp một số lượng transistor lớn hơn trong nó nhờ công nghệ nano. Trong tương lai khả năng tích hợp này sẽ còn được gia tăng đáng kể, do các nhà khoa học phân tử trên thế giới bước đầu đã nghiên cứu và đưa vào thử nghiệm thành công một công nghệ tích hợp tiên tiến hơn – công nghệ pico. Sự phát triển như vũ bão của nền khoa học công nghệ trên thế giới đã góp phần tạo nên những con chip đa chức năng có thể giải quyết tất cả các hoạt động phức tạp liên quan đến công nghệ số. Để thiết kế các con chip này hoạt động theo đúng yêu cầu sử dụng, người lập trình chip phải viết một chương trình phần mềm điều khiển chip bằng một số ngôn ngữ máy tính cấp cao như VHDL, verilog HDL, v.v… Với tầm quan trọng của vấn đề, nhóm thực hiện đồ án "Máy bán hàng tự động " muốn hướng tới những hiểu biết bước đầu trong lĩnh vực này qua đó, tạo tiền đề để thực hiện những nghiên cứu thực tế hơn trong tương lai. 2 3 PHẦN 1. GIỚI THIỆU 1.1. Giới thiệu về VHDL VHDL là ngôn ngữ mô tả phần cứng cho các mạch tích hợp tốc độ rất cao, là một loại ngôn ngữ mô tả phần cứng được phát triển dùng cho trương trình VHSIC( Very High Speed Itergrated Circuit) của bộ quốc phòng Mỹ. Mục tiêu của việc phát triển VHDL là có được một ngôn ngữ mô phỏng phần cứng tiêu chuẩn và thống nhất cho phép thử nghiệm các hệ thống số nhanh hơn cũng như cho phép dễ dàng đưa các hệ thống đó vào ứng dụng trong thực tế. Ngôn ngữ VHDL được ba công ty Intermetics, IBM và Texas Instruments bắt đầu nghiên cứu phát triển vào tháng 7 năm 1983. Phiên bản đầu tiên được công bố vào tháng 8-1985. Sau đó VHDL được đề xuất để tổ chức IEEE xem xét thành một tiêu chuẩn chung. Năm 1987 đã đưa ra tiêu chuẩn về VHDL( tiêu chuẩn IEEE-1076-1987). VHDL được phát triển để giải quyết các khó khăn trong việc phát triển, thay đổi và lập tài liệu cho các hệ thống số. VHDL là một ngôn ngữ độc lập không gắn với bất kỳ một phương pháp thiết kế, một bộ mô tả hay công nghệ phần cứng nào. Người thiết kế có thể tự do lựa chọn công nghệ, phương pháp thiết kế trong khi chỉ sử dụng một ngôn ngữ duy nhất. Và khi đem so sánh với các ngôn ngữ mô phỏng phần cứng khác ta thấy VHDL có một số ưu điểm hơn hẳn là: - Thứ nhất là tính công cộng: VHDL được phát triển dưới sự bảo trợ của chính phủ Mỹ và hiện nay là một tiêu chuẩn của IEEE. VHDL được sự hỗ trợ của nhiều nhà sản xuất thiết bị cũng như nhiều nhà cung cấp công cụ thiết kế mô phỏng hệ thống. -Thứ hai là khả năng được hỗ trợ bởi nhiều công nghệ và nhiều phương pháp thiết kế: 3 4 VHDL cho phép thiết kế bằng nhiều phương pháp ví dụ phương pháp thiết kế từ trên xuống, hay từ dưới lên dựa vào các thư viện sẵn có. VHDL cũng hỗ trợ cho nhiều loại công cụ xây dựng mạch như sử dụng công nghệ đồng bộ hay không đồng bộ, sử dụng ma trận lập trình được hay sử dụng mảng ngẫu nhiên. -Thứ ba là tính độc lập với công nghệ: VHDL hoàn toàn độc lập với công nghệ chế tạo phần cứng. Một mô tả hệ thống dùng VHDL thiết kế ở mức cổng có thể được chuyển thành các bản tổng hợp mạch khác nhau tuỳ thuộc công nghệ chế tạo phần cứng mới ra đời nó có thể được áp dụng ngay cho các hệ thống đã thiết kế. -Thứ tư là khả năng mô tả mở rộng: VHDL cho phép mô tả hoạt động của phần cứng từ mức hệ thống số cho đến mức cổng. VHDL có khả năng mô tả hoạt động của hệ thống trên nhiều mức nhưng chỉ sử dụng một cú pháp chặt chẽ thống nhất cho mọi mức. Như thế ta có thể mô phỏng một bản thiết kế bao gồm cả các hệ con được mô tả chi tiết. - Thứ năm là khả năng trao đổi kết quả: Vì VHDL là một tiêu chuẩn được chấp nhận, nên một mô hình VHDL có thể chạy trên mọi bộ mô tả đáp ứng được tiêu chuẩn VHDL. Các kết quả mô tả hệ thống có thể được trao đổi giữa các nhà thiết kế sử dụng công cụ thiết kế khác nhau nhưng cùng tuân theo tiêu chuẩn VHDL. Cũng như một nhóm thiết kế có thể trao đổi mô tả mức cao của các hệ thống con trong một hệ thống lớn (trong đó các hệ con đó được thiết kế độc lập). - Thứ sáu là khả năng hỗ trợ thiết kế mức lớn và khả năng sử dụng lại các thiết kế: VHDL được phát triển như một ngôn ngữ lập trình bậc cao, vì vậy nó có thể được sử dụng để thiết kế một hệ thống lớn với sự tham gia của một 4 5 nhóm nhiều người. Bên trong ngôn ngữ VHDL có nhiều tính năng hỗ trợ việc quản lý, thử nghiệm và chia sẻ thiết kế. Và nó cũng cho phép dùng lại các phần đã có sẵn. 1.2. Giới thiệu công nghệ (và ứng dụng) thiết kế mạch bằng VHDL 1.2.1 Ứng dụng của công nghệ thiết kế mạch bằng VHDL Hiện nay 2 ứng dụng chính và trực tiếp của VHDL là các ứng dụng trong các thiết bị logic có thể lập trình được (Programmable Logic Devices – PLD) (bao gồm các thiết bị logic phức tạp có thể lập trình được và các FPGA - Field Programmable Gate Arrays) và ứng dụng trong ASICs(Application Specific Integrated Circuits). Khi chúng ta lập trình cho các thiết bị thì chúng ta chỉ cần viết mã VHDL một lần, sau đó ta có thể áp dụng cho các thiết bị khác nhau (như Altera, Xilinx, Atmel,…) hoặc có thể để chế tạo một con chip ASIC. Hiện nay, có nhiều thương mại phức tạp (như các vi điều khiển) được thiết kế theo dựa trên ngôn ngữ VHDL. 1.2.2 Quy trinh thiết kế mạch bằng VHDL. Như đề cập ở trên, một trong số lớn các ứng dụng của VHDL là chế tạo các mạch hoặc hệ thống trong thiết bị có thể lập trình được (PLD hoặc FPGA) hoặc trong ASIC. Việc chế tao ra vi mạch sẽ được chia thành 3 giai đoạn như sau: - Giai đoạn 1: Chúng ta bắt đầu thiết kế bằng viết mã VHDL. Mã VHDL này sẽ được lưu vào file có đuôi là .vhd và có tên cùng với tên thực thể. Mã VHDL sẽ được mô tả ở tầng chuyển đổi thanh ghi. 5 6 Hình 1.1. Tóm tắt quy trình thiết kế VHDL -Giai đoạn 2: Giai đoạn chế tạo: Bước đầu tiên trong quá trình chế tạo là biên dich. Quá trình biên dịch sẽ chuyển mã VHDL vào một netlist ở tầng cổng. Bước thứ 2 của quá trình chế tạo là tối ưu. Quá trình tối ưu được thực hiện trên netlist ở tầng cổng về tốc độ và phạm vi. Trong giai đoạn này, thiết kế có thể được mô phỏng để kiểm tra phát hiện những lỗi xảy ra trong quá trình chế tạo. -Giai đoạn 3: Là giai đoạn ghép nối đóng gói phần mềm. Ở giai đoạn này sẽ tạo ra sự sắp xếp vật lý cho chip PLD/FPGA hoặc tạo ra mặt nạ cho ASIC. 1.2.3. Công cụ EDA. Các công cụ phục vụ cho quá trình thiết kế vi mạch sẽ là: -Công cụ Active – HDL: Tạo mã VHDL và mô phỏng 6 7 -Công cụ EDA (Electronic Design Automation): là công cụ tự động thiết kế mạch điện tử. Công cụ này được dùng để phục vụ cho việc chế tạo, thực thi và mô phỏng mạch sử dụng VHDL. - Công cụ cho đóng gói: Các công cụ này sẽ cho phép tổng hợp mã VHDL vào các chip CPLD/FPGA của Altera hoặc hệ ISE của Xilinx, for Xilinx’s CPLD/FPGA chips). 1.2.4. Chuyển mã VHDL vào mạch. Một bộ cộng đầy đủ được mô tả trong hình dưới đây: Hinh 1.2.a. Sơ đồ tổng quát về bộ cộng đầy đủ Trong đó, a , b là các bit vào cho bộ cộng, cin là bit nhớ. Đầu ra s là bit tổng, cout là bit nhớ ra. Hoạt động của mạch được chỉ ra dưới dạng bảng chân lý: Hình 1.2.b. Bảng chân lý của bộ cộng đầy đủ Bit s và cout được tính như sau: và Từ công thức tính s và cout ta viết đoạn mã VHDL như dưới đây: 7 8 Hình 1.3. Mã thiết kế bộ cộng Từ mã VHDL này, mạch vật lý được tạo ra. Tuy nhiên có nhiều cách để thực hiện phương trình được miêu tả trong ARCHITECTURE OF, vì vậy mạch thực tế sẽ phụ thuộc vào bộ biên dịch/bộ tối ưu đang được sử dụng và đặc biệt phụ thuộc mục đích công nghệ. Hình vẽ sau đây thể hiện một số dạng kiến trúc của mạch cộng: 8 9 Hình 1.4.a. Các ví dụ về sơ đồ mạch có thể có ứng với mã như hình 1. Trong trường hợp này, nếu mục đích công nghệ của chúng ta là thiết bị lgic có thê lập trình được (PLD, FPGA), thì 2 kết quả cho cout thoả mãn là ở hình (b) và hình (c) ( ). Còn nếu mục đích công nghệ là ASIC, thì chúng ta có thể sử dụng hình (d). Hình D sử dụng công nghệ CMOS với các tầng transistor và các mặt nạ phủ. Bất cứ một cái mạch nào được tao ra từ mã, thì những thao tác của nó sẽ luôn luôn được kiểm tra ở mức thiết kế, như ta đã chỉ ra ở hình 1. Tất nhiên, chúng ta cũng có thể kiểm tra nó ở tầng vật lý, nhưng sau đó những thay đổi là rất tai hại. Hình dưới đây là mô phỏng kết quả của đoạn chương trình đã viết ở trên cho mạch bộ cộng đầy đủ ở hình 1.3. Hình 1.4.b: Kết quả mô phỏng bộ cộng được thiết kế theo hình 1.3 9 10 PHẦN 2. BÀI TOÁN ĐIỀU KHIỂN MÁY BÁN HÀNG TỰ ĐỘNG 2.1 Mô tả chung Đồ án thực hiện nghiên cứu và lập trình hoạt động của một máy bán đồ uống tự động dựa trên ngôn ngữ VHDL và được mô phỏng với phần mềm Xilinx ISE 9.1.Quá trình xây dựng đồ án bao gồm:  Thiết kế theo kiến trúc Top Level  Thiết kế sơ đồ khối cơ bản  Thực hiện code và biên dịch  RTL Viewer  Mô phỏng quá trình Chức năng máy bán hàng tự động : • Tính năng bán tự động 3 loại đồ uống (ví dụ Coca Cola, 7Up…) • Người mua đưa tiền vào máy và lựa chọn đồ uống ưa thích • Kiểm tra lượng tiền đưa vào và chọn loại đồ uống thích hợp • Hoàn trả tiền dư (nếu có) Mô tả giao diện hoạt động • Giao diện người sử dụng o 3 phím bấm: lựa chọn loại đồ uống o Hiển thị LED o Nút Reset • Tín hiệu vào/ra o Xung đồng hồ Clk o In_Select o In_Released o Out_drink o In_Coin 10 [...]... Tìm hiều bài toán 12 13 Hình 2.3:Sơ đồ khối đơn giản của máy bán hàng Sơ đồ trên mô tả các khối cơ bản của máy bán hàng Máy bán hàng có khả năng bán 3 loại đồ uống Giá cả của của 3 loại đồ uống này nằm trong khoảng RM 0.30 và RM 0.50 Ví dụ: i Đồ uống A có giá là RM 0.30 ii Đồ uống B có giá là RM 0.40 iii Đồ uống C có giá là RM 0.50 Máy bán hàng này có thể chấp nhận tiền xu có mệnh giá 0.10, 0.20,0 50... sẽ download chương trình máy bán hàng vào FPGA board 2.3 Mô tả thiết kế Kiến trúc TOP LEVEL Hiển thị LED Máy bán hàng Xuất đồ uống Giao tiếp bàn phím Theo kiến trúc này, máy bán hàng có khả năng tiếp nhận và xử lý các thông tin : lựa chọn các loại đồ uống, các loại tiền xu khác nhau, trả lại tiền thừa nếu số tiền đưa vào lớn hơn giá của loại đồ uống đã chọn Khối "Máy bán hàng " đóng vai trò chính để... tự đồng bộ tín hiệu xung đồng hồ Máy bán hàng được thiết kế dựa trên nguyên lý hoạt động của máy Moore, gồm tập các trạng thái cơ bản S0, S10, S20, S50 Kí hiệu được sử 21 22 dụng là "SXX" với " S " được gán thay cho biến trạng thái và "XX " biểu diễn các mức trạng thái Trạng thái S0 là trạng thái reset Máy bán hàng trở về trạng thái này sau mỗi lần thực hiện bán hàng thành công Quá trình chuyển dịch... In_Coin Refund_Coin In_release Drink Out_Drink Hình 2.1: Minh họa máy bán hàng Để lựa chọn đồ uống, người mua ấn vào 3 phím bấm, đèn LED sẽ báo sáng cho biết còn hàng để bán không Nếu còn hàng, máy sẽ xuất đồ uống ra ngoài sau khi kiểm tra người mua đã nạp đủ tiền đồng thời kiểm tra nếu vượt quá giá định sẵn sẽ hoàn trả tiền dư Quá trình được thực hiện với điều kiện người mua biết giá của các loại đồ uống... Design flow Bước đầu tiên của quá trình thiết kế máy bán hàng là tìm hiểu requirement của máy Ví dụ, trong bước thứ nhất, yêu cầu của máy bán hàng là nó có khả năng bán các loại đồ uống có giá thành khác nhau Trong bước thứ 2 của quy trình thiết kế, chúng ta sử dụng VHDL (Very High Speed Integrated Circuit Description Level) để mô tả chức năng của máy bán hàng Sau quá trình biên dịch, chúng ta sẽ thấy biểu... thể mua được một loại đồ uống 11 12 Hình 2.2: minh họa hoạt động máy bán đồ uống 2.2 Các phương pháp thiết kế Để thiết kể và triển khai ứng dụng máy bàn hàng, chúng em chia bài toán thiết kế ra làm 2 phần a) b) The Design Approach The Design Flow The Design Approach Có 6 bước trong giai đoạn thiết kế được sử dung để thiết kế ứng dụng máy bàn hàng 1 2 3 4 5 Hiểu đặc tả của bài toán Mô tả finite state... giá là RM 0.50 Máy bán hàng này có thể chấp nhận tiền xu có mệnh giá 0.10, 0.20,0 50 Nếu lượng tiền đưa vào nhiều hơn giá tiền của đồ uống thì máy sẽ tự động trả lại tiền thừa cho người mua Bước 2: Ta quy ước như sau: a Bảng quy ước đầu vào của máy bán hàng ‘O’ biều diễn đồng tiền có mệnh giá RM 0.10 ‘T’ biều diễn đồng tiền có mệnh giá RM 0.20 ‘F’ biều diễn đồng tiền có mệnh giá RM 0.50 b Đồ uống A... Hình2.4: Biều đồ trạng thái của máy bán hàng Trạng thái RM 10 14 15 Trạng thái RM 20 Trạng thái RM 30 Trạng thái RM 40 Trạng thái RM 50 Bước 3: (State minimization) Nhờ sử dụng Moore state machine ta thấy số trạng thái giảm đi, chỉ còn 6 trạng thái RM 00, RM 10, RM 20, RM 30, RM 40, RM 50 Hình2.5: Biểu đồ trạng thái Moore 15 16 Hình 2.6: Bảng trạng thái của máy bán hàng Bước 4, 5, và 6 Sử dụng 3 đầu... bộ hoạt động của máy RESET : Tín hiệu reset đưa máy trở về trạng thái ban đầu Đầu ra : out_drink : Đưa tín hiệu điều khiển loại đồ uống ra cửa máy out_led : Hiển thị loại đồ uống đưa ra và loại đồ uống còn trong máy refund : Đưa ra tín hiệu trả lại tiền khi khách đưa vào thừa tiền Open : Tích cực thấp khi hoàn thành quá trình mua đồ uống Lon nước sẽ đẩy ra ngoài Các module nhỏ khác : Mạch tuần tự đồng... thừa nếu số tiền đưa vào lớn hơn giá của loại đồ uống đã chọn Khối "Máy bán hàng " đóng vai trò chính để phát tín hiệu điều khiển Khối "Giao tiếp bàn phím" giúp quá trình tương tác giữa người và máy bán hàng thuận tiện hơn Khối " Hiển thị LED " đưa ra thông tin về loại đồ uống còn trong máy và loại đồ uống đã chọn mua 20 21 out_drink CLK RESET Q D vending machine out_led N select 1 select 2 select 3 . 1.3 9 10 PHẦN 2. BÀI TOÁN ĐIỀU KHIỂN MÁY BÁN HÀNG TỰ ĐỘNG 2.1 Mô tả chung Đồ án thực hiện nghiên cứu và lập trình hoạt động của một máy bán đồ uống tự động dựa trên ngôn ngữ VHDL và được mô phỏng. Top Level  Thiết kế sơ đồ khối cơ bản  Thực hiện code và biên dịch  RTL Viewer  Mô phỏng quá trình Chức năng máy bán hàng tự động : • Tính năng bán tự động 3 loại đồ uống (ví dụ Coca Cola,. của vấn đề, nhóm thực hiện đồ án "Máy bán hàng tự động " muốn hướng tới những hiểu biết bước đầu trong lĩnh vực này qua đó, tạo tiền đề để thực hiện những nghiên cứu thực tế hơn trong

Ngày đăng: 02/06/2015, 16:45

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan