CHƯƠNG 1. TỔNG QUAN LCD TFT, và các chuẩn giao tiếp, đồng thời tìm hiểu về công nghệ sinh trắc học nói chung và công nghệ sinh trắc học vân tay nói riêng. Chương 3: Tính Toán Và Thiết Kế Trình bày sơ đồ khối chức năng các khối, đồng thời thiết kế tính toán để thiết kế mạch điều khiển mô hình. Trình bày sơ đồ toàn mạch.
Chương 4: Thi Công Hệ Thống Máy Điểm Danh Thi công hàn linh kiện lên mạch, lắp ráp kiểm tra toàn bộ mạch, đồng thời test bằng 1 chương trình cơ bản. Sau đó lắp ráp thành mô hình. Trình bày lưu đồ giải thuật đồng thời giải thích cách hoạt động của toàn bộ hệ thống. Chương 5: Kết Quả Nhận Xét và Đánh Giá Trình bày kết quả của của thiết kế mô hình và lập trình.
Nhận xét đánh giá mức độ hoàn thiện của mô hình đồng thời nêu những giới hạn của mô hình. Chương 6: Kết Luận và Hướng Phát Triển Tổng kết kết quả của toàn bộ mô hình, đưa ra các hướng phát triển cho sản phẩm sau này. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 3 do an CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Chương 2.1 GIỚI THIỆU VỀ VI XỬ LÝ ARM Cấu trúc ARM (Acorn RISC Machine) là một loại cấu trúc vi xử lý 32 bit kiểu RISC được sử dụng rộng rãi trong thiết kế nhúng.
Do đặc điểm tiết kiệm năng lượng, các bộ CPU ARM chiếm được ưu thế trong các sản phẩm điện tử di động, mà các sản phẩm này việc tiêu tán công suất thấp là một mục tiêu thiết kế hàng đầu. Ngày nay ARM được ứng dụng rộng rãi trên mọi lĩnh vực của đời sống: Robot, máy tính, điện thoại, máy giặt, máy bay, xe hơi….[2] [Nguồn: http://www.com/InsideDSP/2014/09/25/ARM] Hình 2. Một số ứng dụng của ARM 2.1 Lịch sử phát triển của ARM Việc thiết kế ARM được bắt đầu từ năm 1983 trong một dự án phát triển của công ty máy tính Acorn. Nhóm thiết kế hoàn thành việc phát triển mẫu gọi là ARM1 vào năm 1985, và vào năm sau, nhóm hoàn thành sản phẩm “thực’’ gọi là ARM2 với thiết kế đơn giản chỉ gồm 30,000 transistor.
ARM2 có tuyến dữ liệu 32 bit, không gian địa chỉ 26 bit tức cho phép quản lý đến 64 Mbyte địa chỉ và 16 thanh ghi 32 bit. Thế hệ sau, ARM3, được tạo ra với 4KB cache và có chức năng được cải thiện tốt hơn nữa. Vào những năm cuối thập niên 80, hãng máy tính Apple Computer và hãng VLSI Technology bắt đầu hợp tác với Acorn để phát triển các thế hệ lõi ARM mới. Kết quả sự BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 4 do an CHƯƠNG 2.
CƠ SỞ LÝ THUYẾT hợp tác này là ARM6. Mẫu đầu tiên được công bố vào năm 1992 và Apple đã sử dụng bộ vi xử lý ARM 610 dựa trên ARM6 làm cơ sở cho PDA hiệu Apple Newton. Vào năm 1994, Acorn dùng ARM 610 làm CPU trong các máy vi tính RiscPC của họ. Các dòng phát triển của ARM Kiến trúc Số bit Tên lõi ARMv1 32/26 ARM1 ARMv2 32/26 ARM2, ARM3 ARMv3 32 ARM6, ARM7 ARMv4 32 ARM8 ARM v4T 32 ARM7TDMI, ARM9TDMI ARMv5 32 ARM7EJ, ARM9E, ARM10E ARMv6 32 ARM11 ARMv6-M 32 ARM-Cortex-M0, ARM-Cortex-M0+, ARM-Cortex-M1 ARMv7-M 32 ARM-Cortex-M3 ARMv7E-M 32 ARM-Cortex-M4 ARMv7-R 32 ARM-Cortex-R4, ARM-Cortex-R5, ARM-Cortex-R7 ARM-Cortex-A5, ARM-Cortex-A7, ARM-Cortex-A8, ARM- ARMv7-A 32 Cortex-A9, ARM-Cortex-A12, ARM-Cortex: A15 và A17 ARMv8A 64/32 ARM-Cortex-A53, ARM-Cortex-A57 [Nguồn: Tài liệu số (2)] Trải qua nhiều thế hệ nhưng lõi ARM gần như không thay đổi kích thước.
ARM2 có 30,000 transistors trong khi ARM6 chỉ tăng lên đến 35,000. Ý tưởng của nhà sản xuất lõi ARM là sao cho người sử dụng có thể ghép lõi ARM với một số bộ phận tùy chọn nào đó để tạo ra một CPU hoàn chỉnh, một loại CPU mà có thể tạo ra trên những nhà máy sản xuất bán dẫn cũ và vẫn tiếp tục tạo ra sản phẩm với nhiều tính năng mà giá thành vẫn thấp.2 Kiến trúc của ARM BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 5 do an CHƯƠNG 2. CƠ SỞ LÝ THUYẾT [Nguồn: https://en.org/wiki/ARM_architecture] Hình 2. Kiến trúc ARM 2.3 Giới thiệu ARM Cortex Như chúng ta đã thấy trong phần giới thiệu lịch sử phát triển các dòng ARM thì lõi Cortex là lõi nhúng kế thừa các ưu điểm từ các thế hệ lõi ARM11 về trước đó.
Để phù hợp với nhu cầu sử dụng, ARM Cortex được chia làm 3 dòng: Cortex-A: Bộ xử lý dành cho hệ điều hành và các ứng dụng phức tạp. Hỗ trợ tập lệnh ARM, thumb, và thumb-2. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 6 do an CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Cortex-R: Bộ xử lý dành cho hệ thống đòi hỏi khắc khe về đáp ứng thời gian thực.
Hỗ trợ tập lệnh ARM, thumb, và thumb-2. Cortex-M: Bộ xử lý dành cho dòng vi điều khiển, được thiết kế để tối ưu về giá thành. Hỗ trợ tập lệnh Thumb-2. Dòng ARM STM32 có lõi Cortex-M.
Giá trị số nằm cuối tên của 1 dòng ARM (ví dụ ARM Cortex-M3) cho biết về mức độ hiệu suất tương đối của dòng đó. Theo đó dòng ARM mang số 0 sẽ có hiệu suất thấp nhất.4 Giới thiệu ARM Cortex M3 ARM Cortex-M3 được thiết kế đặc biệt để nâng cao hiệu suất hệ thống kết hợp với tiêu thụ năng lượng thấp. ARM Cortex-M3 được thiết kế trên nền kiến trúc mới do đó chi phí sản xuất đủ thấp để cạnh tranh với các dòng vi điều khiển 8 và 16 bit truyền thống. Sơ đồ khối của ARM Cortex-M3.
Một số đặc điểm của ARM Cotex-M3 như sau: ARM Cortex – M3 được xây dựng dựa trên kiến trúc ARMv7-M 32 bit. Kiến trúc Harvard tách biệt Bus dữ liệu và lệnh. Đơn vị bảo vệ bộ nhớ (MPU-Memory Protection Unit): Hỗ trợ bảo vệ bộ nhớ thông qua việc phân quyền thực thi và truy xuất. Bộ vi xử lý Cortex-M3 hỗ trợ kiến trúc tập lệnh Thumb-2.
Hỗ trợ kỹ thuật Bit Band giúp cho phép truy xuất dữ liệu theo bit đồng thời giảm thời gian truy xuất. Cho phép truy cập dữ liệu không xếp hàng (unaligned data accesses) đặc điểm này cho phép sử dụng hiệu quả SRAM nội. SysTick timer 24 bit hỗ trợ cho việc chạy hệ điều hành thời gian thực. Hỗ trợ lập trình và gỡ rối qua cổng JTAG truyền thống cũng như chuẩn 2 dây nhỏ gọn SWD (Serial Wire Debug).
Khối quản lý vector ngắt lồng nhau (NVIC-Nested Vectored Interrupt Controller) cho phép rút ngắt thời gian đáp ứng yêu cầu ngắt. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 7 do an CHƯƠNG 2. CƠ SỞ LÝ THUYẾT [Nguồn: http://iprinceps.com/tag/Cortex-M3/page/1] Hình 2. Sơ đồ khối ARM Cortex-M3 2.5 Giới thiệu dòng chip STM32 Những đặc điểm nổi trội của dòng ARM Cortex đã thu hút các nhà sản xuất IC, hơn 240 dòng vi điều khiển dựa vào nhân Cortex đã được giới thiệu.
Không nằm ngoài xu hướng đó, hãng sản xuất chip ST Microelectronic đã nhanh chóng đưa ra dòng STM32. STM32 là vi điều khiển dựa trên nền tảng lõi ARM Cortex-M3 thế hệ mới do hãng ARM thiết kế. Lõi ARM Cortex-M3 là sự cải tiến từ lõi ARM7 truyền thống từng mang lại thành công cho công ty ARM.6 Giới thiệu về chip STM32F103XXX Chip STM32F103xxx thuộc nhóm thứ 3 High-density trong 5 nhóm thuộc dòng ARM STM31F1, với bộ nhớ Flash là 512Kbytes, 11 timers, USB, CAN, ADC và các chuẩn giao tiếp khác. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 8 do an CHƯƠNG 2.
CƠ SỞ LÝ THUYẾT Với mô hình máy điểm danh sử dụng vi xử lý ARM này thì nhóm tôi quyết định chọn con chip STM32F103VET6 chính bởi vì chúng có tốc độ và dung lượng lưu trữ phù hợp với yêu cầu đặt ra, nhưng quan trọng nhất là chúng tôi đã được tiếp xúc trong quá trình học tập tại trường. Mô tả chân và hình ảnh thực tế của STM32F103VET6 Do thuộc dòng High density cùng với 512Kbytes Flash STM32F103VET6 là chip xử lý mạnh mẽ với: 72Mhz xung nội đem lại một tốc độ xử lý đáng kể. 5 chuẩn giao tiếp UART và USART. 4x16 bit timers, 2 basic timers.
3 x SPI, 2 x I2Ss, 2 x I2Cs. USB, CAN, 2 x PWM timers. 3 × ADCs, 2 × DACs, 1 × SDIO.7 Kiến trúc chip ARM STM32F103XXX Icode bus: Kết nối lõi Cortex™-M3 với bộ nhớ Flash để truyền mã lệnh. Dcode bus: Kết nối lõi Cortex™-M3 với bộ nhớ Flash để truyền dữ liệu.
System bus: Kết nối lõi Cortex™-M3 với BusMatrix và BusMatrix sẽ phân quyền sử dụng bus giữa lõi ARM và khối DMA. DMA bus: Kết nối DMA với BusMatrix và BusMatrix sẽ quản lý việc truy xuất dữ liệu của CPU, DMA tới SRAM, Flash và các ngoại vi. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 9 do an CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Các cầu AHB/APB: 2 cầu AHB/APB giúp đồng bộ kết nối giữa AHB với 2 bus APB.
APB1 có tốc độ tối đa là 36 Mhz và APB2 đạt tốc độ tối đa 72 Mhz. BusMatrix: Phân quyền sử dụng bus giữa lõi ARM và khối DMA. Việc phân quyền này dựa trên thuật toán Round-Robin (các khối sẽ thay phiên nhau truy cập bus trong 1 đơn vị thời gian định sẵn). Sau mỗi lần CPU bị reset thì tất cả các nguồn xung clock cấp cho ngoại vi đều bị tắt hết chỉ trừ xung clock cấp cho SRAM và FLITF [Nguồn: www.
Kiến trúc của ARM STM32F103XXX 2.8 Cấp xung Clock cho STM32 Có 3 loại xung clock có thể đùng dùng làm xung clock cho hệ thống (SYSCLK-xung clock cấp cho khối xử lý): BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 10 do an CHƯƠNG 2. CƠ SỞ LÝ THUYẾT HIS (High Speed Internal) nguồn xung clock tốc độ cao bên trong ARM. HSE (High Speed External) nguồn xung clock tốc độ cao bên ngoài ARM. LSI (Low Speed Internal) nguồn xung clock tốc độ chậm 40kHz ở bên trong ARM.
Nguồn xung này được dùng để cấp cho independent watchdog và có thể được dùng để cấp cho RTC trong việc định thời gian tự động đánh thức CPU thoát khỏi chế độ Stop hoặc Standby. LSE (Low Speed External) nguồn xung clock tốc độ chậm thường được nối với thạch anh 32,768kHz từ bên ngoài, xung clock này có thể được dùng để cấp cho RTC. Mỗi nguồn xung clock có thể được bật tắt độc lập nhằm tiết kiệm năng lượng. Chú ý: Muốn hệ thống hoạt động ở tần số cao nhất (72Mhz) ta phải sử dụng HSE (4- 16Mhz) kết hợp với mạch nhân tần số PLLMUL.
Thông thường ta chọn giá trị HSE = 8Mhz, điều này có nghĩa là ta phải kết nối thạch anh hoặc một nguồn xung clock 8Mhz bên ngoài ARM theo cách sau:[2] [Nguồn: www. Cách kết nối nguồn xung 8Mhz cho HSE BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 11 do an CHƯƠNG 2. CƠ SỞ LÝ THUYẾT [Nguồn: http://www. Sơ đồ cây xung Clock Ngoài ra ARM cũng còn có nguồn xung clock phụ sau: BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 12 do an CHƯƠNG 2.
CƠ SỞ LÝ THUYẾT [Nguồn: http://www.