Chương 1: Giới thiệu Tổng quan - giới thiệu máy rút tiền tự động và sự cần thiết của một bộ định thời giám sát (Watchdog Timer) trong máy ATM, và cách giảm công suất. Từ đó đưa ra lý do chọn đề tài nghiên cứu, đề ra nhiệm vụ, các công việc sẽ làm trong Đề tài. Bố cục của đề tài cũng sẽ được trình bày để người đọc dễ nắm bắt các nội dung có trong quyển đề tài. Chương 2: Cơ sở Lý thuyết liên quan - Trình bày lý thuyết cơ bản về Watchdog Timer; Ngôn ngữ VHDL và quy trình thiết kế FPGA bằng phần mềm Xinlinx ISE Design Suite làm nền tảng cho công việc thiết kế.
Do số lượng kiến thức của các mảng kể trên là rất lớn, chúng tôi chỉ giới hạn tìm hiểu và trình bày những nội dung được sử dụng trong quá trình thiết kế Watchdog Timer và Máy trạng thái ứng dụng trong máy rút tiền tự động. Chương 3: Phân tích - Thiết kế hệ thống - Chương này trình bày yêu cầu, ý tưởng thiết kế; từ đó đưa ra sơ đồ khối, nguyên lý hoạt động, xây dựng mô hình trạng thái máy cho hệ thống; tiến hành viết chương trình VHDL để mô tả chức năng của hệ thống. Quá trình mô phỏng, nạp chương trình cho Kit, kiểm tra và nhận xét kết quả đạt được cũng sẽ được trình bày trong chương này. Các bước thực hiện được trình bày vắn tắt; dạng sóng mô phỏng và kết quả môt phỏng chức năng testbench sẽ được đưa ra và kiểm chứng lại so với lý thuyết yêu cầu ban đầu.
Chương 4: Công suất máy trạng thái – Chương này trình bày cách thức giảm công suất máy trạng thái và mô phỏng công suất máy trạng thái có và không sử dụng kỹ thuật PG. Chương 5: Kết luận & Hướng phát triển - Chương cuối tổng kết đề tài, nêu kết luận chung, khẳng định lại những kết quả đạt được, nhìn nhận ưu khuyết điểm, và đề xuất hướng phát triển, cải tiến Đề tài trong thời gian tới. 4 Luan van CHƯƠNG 2 CƠ SỞ LÝ THUYẾT LIÊN QUAN 2.1 Giới thiệu Watchdog Timer Ngày nay, các hệ thống sử dụng vi điều khiển hầu hết hoạt động trong các môi trường khắc nghiệt, chịu sự tác động bởi các loại nhiễu điện, nhiễu cảm ứng điện từ. Trong các môi trường như trên, sẽ có ích nếu hệ thống chứa đựng các nguồn tài nguyên để giúp đảm bảo sự hoạt động chính xác.
Trong nhiều hệ thống, một kỹ thuật thường được sử dụng để thực hiện kiểm tra sự hoạt động chính xác của hệ thống là sự kết hợp với một bộ định thời giám sát (Watchdog Timer). Watchdog Timer về cơ bản là một thiết bị đo thời gian được sử dụng để kết hợp (hoặc kết hợp một phần) với bộ vi xử lý và có khả năng thiết đặt, khởi động lại bộ vi xử lý. Trong một hệ thống được thiết kế thực sự, Watchdog Timer sẽ thiết lập lại khi bộ vi xử lý đang hoạt động không đúng, điều đó khử bỏ lỗi. Trong một ứng dụng điển hình, Watchdog Timer được cấu hình để thiết đặt lại bộ xử lý sau một khoảng thời gian xác định trước, nếu bộ xử lý đang hoạt động bình thường, nó sẽ khởi động Watchdog Timer trước khi kết thúc khoảng thời gian đó.
Sau khi được khởi động lại, Watchdog Timer sẽ bắt đầu định thời một khoảng thời gian có định trước khác. Nếu Watchdog Timer không khởi động lại trước khi kết thúc khoảng thời gian này, một thời gian trễ giám sát sẽ xuất hiện và điều này dẫn đến bộ xử lý sẽ được thiết đặt lại. Nếu phần mềm hệ thống được thiết kế phù hợp và không có lỗi phần cứng, việc thiết đặt lại sẽ làm cho hệ thống làm việc chính xác. Hầu như các hệ thống nhúng sử dụng chung các Watchdog Timer, bộ định thời chuyên dụng thường là một phần gắn liền bên trong các bộ vi điều khiển.
Tóm tại, Watchdog Timer là một phần cứng có chức năng tự động phát hiện bất thường phần mềm và thiết lập lại bộ vi xử lý nếu có lỗi xảy ra. Mục đích là để đưa hệ thống trở lại từ trạng thái không đáp ứng về trạng thái hoạt động bình thường. Nguyên lý làm việc của Watchdog Timer trong các bộ vi xử lý được trình bày qua hình 2. 5 Luan van Hình 2.1: Nguyên lý làm việc của Watchdog Timer trong hệ thống nhúng Watchdog Timer cơ bản dựa vào bộ đếm, chẳng hạn đếm xuống từ một giá trị ban đầu về 0.
Phần mềm nhúng lựa chọn giá trị đếm ban đầu và định kỳ khởi động lại nó. Nếu bộ đếm về 0 trước khi phần mềm khởi động lại nó, phần mềm được xem là có trục trặc và xuất hiện tín hiệu thiết lập lại bộ xử lý. Các Watchdog Timer cũng có thể kích hoạt các hệ thống điều khiển để chuyển về trạng thái an toàn, ví dụ như ngắt động cơ, các ngõ ra điện áp cao và điện áp nguy hiểm của các hệ thống phụ cho đến khi lỗi được khắc phục. Ví dụ, một Watchdog Timer có thể được thực thi với một bộ đếm x-bit trong một hệ thống làm việc với tín hiệu xung y MHz, kết quả hệ thống sẽ ngừng hoạt động nếu bộ định thời không thiết đặt lại trong một chu kỳ của 2𝑥 /(𝑦.
Các Watchdog Timer có nhiều ứng dụng quan trọng khác nhau, một trong số đó là dùng trong các máy rút tiền tự động ATM.2 Watchdog Timer ứng dụng trong các máy rút tiền tự động Ngày nay, khi nhu cầu giao dịch tài chính tăng cao, để tiết kiệm thời gian và công sức người ta thường lựa chọn hình thức giao dịch ngân hàng qua các máy rút tiền tự động (ATM). Máy rút tiền tự động là một thiết bị viễn thông cung cấp cho khách hàng sự quản lý tài chính của mình thông qua quyền truy cập vào các giao dịch tài chính trong một không gian công cộng mà không cần đến ngân hàng và bộ phận nhân viên thu ngân, kế toán. Sử dụng một máy ATM, khách hàng có thể truy cập tài khoản ngân hàng của họ để thực hiện rút tiền mặt, thanh toán tiền mặt qua thẻ tín dụng, kiểm tra số dư tài khoản, mua điện thoại di động trả trước. Một vấn đề chính liên quan đến các máy ATM như đã nhắc ở trên là kiểm soát thời gian của hệ thống.
Nếu một người chèn thẻ ATM của mình vào máy mà không thực hiện bất kỳ hành động giao dịch nào sẽ gây ra sự chờ đợi cho những người 6 Luan van đứng xếp hàng phía sau. Ở đây, Watchdog Timer sẽ phát huy tác dụng cảnh báo người dùng. Mặt khác khi hệ thống bị treo (khóa thẻ), Watchdog Timer có chức năng thiết lập lại hệ thống quay về trạng thái hoạt động bình thường giúp hệ thống được hoạt động liên tục, đảm bảo nhu cầu công cộng cho nhiều người. Một máy ATM cần có một Watchdog Timer trong hai tình huống: cảnh báo (ALARM) khi người dùng không cung cấp bất kỳ thông tin ngõ vào nào sau khi chèn thẻ ATM vào máy, và thiết đặt lại (RESET) giúp hệ thống hoạt động bình thường sau khi các máy ATM bị treo (trường hợp khóa thẻ).
Khác với bản chất của Watchdog Timer trong các bộ vi xử lý, chúng tôi thiết kế một Watchdog Timer ứng dụng cho hệ thống máy rút tiền tự động trong một mô hình mô tả sự hoạt động của máy ATM, có hai chức năng Alarm & Reset như đã nêu, nhằm tiến đến việc thiết kế phần cứng chuyên dụng cho hệ thống ATM thay thế phần mềm trên các hệ điều hành.2 NGÔN NGỮ MÔ TẢ PHẦN CỨNG VHDL 2.1 Hạn chế của ngôn ngữ lập trình truyền thống Hầu hết các ngôn ngữ lập trình truyền thống, chẳng hạn như C, được mô hình hóa sau một quá trình tuần tự. Trong quá trình này, các hoạt động được thực hiện theo trình tự, một hoạt động tại một thời điểm. Một hoạt động phụ thuộc vào kết quả của một hoạt động trước đó, thứ tự thực hiện không thể thay đổi theo ý thích. Các mô hình theo quy trình tuần tự có hai lợi ích.
Ở cấp độ trừu tượng, nó giúp quá trình tư duy của con người để phát triển một thuật toán từng bước một. Ở cấp độ thực thi, quá trình tuần tự giống như sự hoạt động của một mô hình máy tính cơ bản và do đó cho phép chuyển đổi một cách hiệu quả từ một thuật toán sang mã lệnh của máy. Các đặc tính của phần cứng kỹ thuật số rất khác với các đặc tính của mô hình tuần tự. Một hệ thống kỹ thuật số điển hình thường được xây dựng bởi các khối nhỏ hơn, với hệ thống dây điện tùy chỉnh kết nối các ngõ vào và ngõ ra của các khối.
Khi một tín hiệu thay đổi, các bộ phận kết nối với tín hiệu đó được kích hoạt và một tập hợp các hoạt động mới được tiến hành phù hợp. Các hoạt động 7 Luan van này được thực hiện đồng thời, và mỗi hoạt động sẽ mất một khoảng thời gian delay cụ thể để hoàn thành. Sau khi hoàn thành, mỗi khối cập nhật các giá trị của các ngõ ra tương ứng. Nếu giá trị được thay đổi, tín hiệu ngõ ra sẽ lần lượt kích hoạt tất cả các bộ phận được kết nối với nó và bắt đầu một vòng hoạt động khác.
Mô tả này cho thấy một số đặc điểm đặc trưng duy nhất của hệ thống kỹ thuật số, bao gồm các kết nối giữa các khối, các quá trình hoạt động đồng thời, và khái niệm về độ trễ lan truyền và thời gian. Các mô hình tuần tự được sử dụng trong ngôn ngữ lập trình truyền thống không thể nắm bắt được đặc điểm của phần cứng kỹ thuật số, và cần thiết có một ngôn ngữ đặc biệt được thiết kế để mô tả phần cứng kỹ thuật số HDL (Hardware Description Language).2 Ngôn ngữ đặc tả phần cứng VHDL VHDL viết tắt của Very high speed itergrated circuit Hardware Description Language, là một ngôn ngữ mô tả phần cứng cho các mạch tích hợp tốc độ rất cao, được phát triển bởi Bộ quốc phòng Mỹ từ năm 1981. 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, tổ chức này đã đưa ra tiêu chuẩn về VHDL (tiêu chuẩn IEEE-1076- 1987).