Mục lục:

Hệ thống phát triển lôgic lập trình Ghetto (CPLD): 13 bước
Hệ thống phát triển lôgic lập trình Ghetto (CPLD): 13 bước

Video: Hệ thống phát triển lôgic lập trình Ghetto (CPLD): 13 bước

Video: Hệ thống phát triển lôgic lập trình Ghetto (CPLD): 13 bước
Video: Top 5 cách TĂNG TƯ DUY LOGIC cho LẬP TRÌNH VIÊN | Ntech | GIÁO DỤC 2024, Tháng mười một
Anonim
Hệ thống phát triển lôgic lập trình Ghetto (CPLD)
Hệ thống phát triển lôgic lập trình Ghetto (CPLD)

Trong vài tháng qua, tôi đã tận hưởng Hệ thống phát triển Ghetto dành cho bộ xử lý AVR. Trên thực tế, công cụ gần như bằng 0 đô la này đã được chứng minh là hấp dẫn và hữu ích đến mức khiến tôi tự hỏi liệu có thể mở rộng khái niệm này sang phát triển FPGA / CPLD hay không. (FPGA: Field Programmable Gate Array. CPLD: Complex Programmable Logic Device.) Vì vậy, tôi đã tìm hiểu kỹ trên web và tìm ra một hệ thống phát triển cho Atmel CPLD. So sánh với các thiết bị Altera cho thấy sơ đồ chân của chúng giống nhau (trong các hạn chế mà tôi nêu chi tiết bên dưới), vì vậy chúng cũng sẽ hoạt động. Bằng cách xây dựng bảng phát triển và cáp giao diện mà tôi sẽ trình bày, sau đó tải xuống các công cụ, bạn có thể phát triển các ứng dụng CPLD của riêng mình. Hãy lưu ý những hạn chế và hạn chế sau đây. Tôi đã cố gắng cân bằng giữa khả năng và sự đơn giản để bạn có thể tạo ra thứ gì đó mà bạn chỉ thích thú và học hỏi từ các thiết bị VV. Mở rộng hệ thống để bao phủ các điện áp bổ sung (3,3V, 2,5V, 1,8V được hỗ trợ bởi các thiết bị Atmel trong cùng một họ) không khó, nhưng nó làm phức tạp cả bảng phát triển và cáp lập trình. Bây giờ chúng ta hãy bỏ qua nó. Lưu ý rằng bạn phải cung cấp nguồn 5V cho bo mạch. 44 pin PLCC chỉ. Cụ thể, tôi đã lập trình Atmel ATF1504AS. Khái niệm Ghetto CPLD có thể dễ dàng mở rộng cho các thiết bị Atmel khác, nhưng thiết bị này dường như là một sự thỏa hiệp tốt giữa giá cả, tính dễ sử dụng và khả năng. Khái niệm này cũng nên mở rộng cho các thiết bị khác như các thiết bị của Altera, Xilinx, Actel, v.v. Trên thực tế, dòng Max7000 EPM7032 và EPM7064 sẽ hoạt động trong cùng một ổ cắm miễn là bạn sử dụng phiên bản PLCC 44 pin. Cho đến nay tôi chỉ sử dụng cáp lập trình Atmel, nhưng Altera Byte-Blaster được hỗ trợ bởi phần mềm Atmel và cũng sẽ hoạt động tốt. Nó thực sự có thiết kế đơn giản hơn một chút so với cáp Atmel. (Tôi đã xây dựng phiên bản Atmel và nó hoạt động, vì vậy tôi chưa thử phiên bản Altera.) SparkFun cung cấp phiên bản $ 15 của cáp Altera. Vì điều này sẽ hiệu quả với cả Atmel và Altera, tôi khuyên bạn nên sử dụng nó. Nếu bạn định phát triển với các bộ phận của Altera, bạn cũng sẽ muốn có phần mềm Altera. Tôi chưa thực sự thử điều này, nhưng không có lý do gì tôi có thể nghĩ rằng nó sẽ không hoạt động. Tốc độ bị giới hạn. Vì Hệ thống phát triển Ghetto CPLD được xây dựng với hệ thống dây điện bằng tay và không có mặt đất, đừng mong đợi hoạt động đáng tin cậy ở tốc độ trên vài megahertz. Thậm chí điều đó không được đảm bảo rằng số dặm của bạn có thể thay đổi! Tất nhiên, nếu bạn xây dựng phần cứng nguyên mẫu có mặt đất thì CPLD của bạn có thể hoạt động tốt ở tốc độ cao hơn. Chỉ cần không mong đợi nó sẽ được gắn nhanh trong Hệ thống Phát triển Ghetto.

Bước 1: Đi đặt hàng các bộ phận

Đi đặt hàng các bộ phận
Đi đặt hàng các bộ phận

Bạn sẽ cần một ổ cắm plcc 44 chân, một số nắp tách rời, một số CPLD chưa được lập trình, ổ cắm cho kết nối breadboard, một điện trở kéo lên và có thể là một số bo mạch hoàn hảo để xây dựng nó. Nếu bạn có bất kỳ thứ này trong hộp rác của mình, bạn có thể tiết kiệm được một vài đô la. Để thuận tiện cho bạn, đây là Số bộ phận của Digikey: CONN PLCC SOCKET 44POS TIN PN: 1-822473-4-ND Ổ cắm IC KHUNG HÌNH MỞ 14POS. 3 "PN: 3M5462-ND Qty: 2SOCKET IC KHUNG HÌNH 18POS.3 "PN: 3M5464-ND Qty: 2CAP ELECT 10UF 50V SU BI-POLAR PN: P1280-ND Qty: 1, C1CAP CER. 10UF 50V 20% DISC RAD PN: 478 -4275-1-ND Qty: 4, C2-C5RES PHIM KIM LOẠI 5.10K OHM 1 / 4W 1% PN: P5.10KCACT-ND BAN MÁY TÍNH FR4 PPH 1-MẶT 4.0X4.0 PN: V2010-ND IC CPLD 64 MACROCELL 10NS 44PLCC PN: ATF1504AS-10JC44-ND Một số bộ phận có thể có số lượng tối thiểu, nhưng vẫn phải khá rẻ. những cái này cũng vậy. Hãy nhớ rằng Digikey có số tiền tối thiểu là 25 đô la để tránh phải trả phí xử lý, vì vậy bạn có thể muốn nhận thêm một vài CPLD chưa được lập trình hoặc một hoặc hai bộ xử lý AVR chỉ để giải trí. Tôi khuyên bạn nên mua cáp lập trình Altera từ SparkFun. Đây là số bộ phận. Nhận cả cáp và đầu nối. (Nếu không, hãy đặt hàng các bộ phận của cáp từ Digikey nếu bạn đang tự chế tạo.) Bộ lập trình tương thích Altera FPGA PN: PGM-087052x5 Pin IDC Ribbon Cable PN: PRT-085352x5 Pin Shroclock Header PN: PRT-08506

Bước 2: Tải và cài đặt phần mềm

Nhận và cài đặt phần mềm
Nhận và cài đặt phần mềm

Tôi hiện đang sử dụng chuỗi công cụ Atmel Prochip Designer 5.0. Công cụ này yêu cầu bạn đăng ký với Atmel và điền vào biểu mẫu yêu cầu chính thức của họ. Tôi nói với họ rằng tôi là một kỹ sư thiết kế, hiện đang thất nghiệp và mục đích chính của tôi là tìm hiểu các thiết bị và VHDL của họ (tất cả đều đúng, BTW). Họ đã chấp thuận yêu cầu cấp phép. Điểm duy nhất là giấy phép chỉ có hiệu lực trong 6 tháng. Tôi hy vọng sẽ tìm thấy một chuỗi công cụ miền công cộng vào thời điểm nó hết hạn. Altera cũng có một chuỗi công cụ mà tôi có thể kiểm tra. Bất kỳ đề xuất sẽ được đánh giá cao. Xem nhận xét và liên kết ở bước cuối cùng. Atmel Prochip Designer 5.0 ở đây. Nếu bạn nhận được nó, hãy chắc chắn nhận được Gói Dịch vụ 1 cho nó.

Bước 3: Tạo cáp lập trình

Tạo cáp lập trình
Tạo cáp lập trình

Cách tiếp cận dễ nhất ở đây là mua Altera Byte-Blaster công việc tương tự từ Sparkfun (xem Bước 1). Nếu 15 đô la nhiều hơn số tiền bạn muốn chi tiêu, thì bạn có thể sử dụng sơ đồ SparkFun Altera Cable hoặc sử dụng sơ đồ cáp Atmel và sơ đồ xây dựng. (Nếu có nhiều quan tâm đến việc làm xước cáp, tôi có thể đưa ra một số gợi ý, nhưng bộ Sparkfun có vẻ như là câu trả lời phù hợp cho tôi.)

Bước 4: Tạo cái nôi cho lập trình viên

Tạo cái nôi cho lập trình viên
Tạo cái nôi cho lập trình viên
Tạo cái nôi cho lập trình viên
Tạo cái nôi cho lập trình viên
Tạo cái nôi cho lập trình viên
Tạo cái nôi cho lập trình viên

Hãy xem lập trình viên Atmel. Điều này rất linh hoạt và là một lựa chọn tuyệt vời nếu bạn có đủ tiền và có kế hoạch phát triển nhiều CPLD. Altera cung cấp một cái gì đó tương tự, tôi tin. Nhưng tôi đã đi với một cách tiếp cận rẻ hơn - đó là tất cả những gì liên quan đến! Lưu ý các ổ cắm DIP được sử dụng làm đầu nối breadboard. Tất cả các chân trên một mặt của mỗi đầu nối được nối với đất; chân bên kia kết nối với chân tín hiệu trên CPLD. Tôi cũng bao gồm một vài kết nối nguồn; đặt những thứ này vào nơi chúng vừa vặn. Các sơ đồ là loại giản đồ hình ảnh; chỉ các kết nối nguồn phụ không được hiển thị. Nhìn vào hình ảnh để biết ý tưởng về những điều này.

Bước 5: Xây dựng cái nôi - Phần 1

Xây dựng cái nôi - Phần 1
Xây dựng cái nôi - Phần 1
Xây dựng cái nôi - Phần 1
Xây dựng cái nôi - Phần 1

Bắt đầu chế tạo giá đỡ bằng cách lắp các ổ cắm vào những vị trí mà bạn muốn. Cho phép một hoặc hai hàng trống để có chỗ cho các nắp tách rời. Điều này cũng giúp kết nối với các chân tín hiệu CPLD dễ dàng hơn. Sử dụng các ổ cắm bằng một chút chất hàn hoặc epoxy tùy thuộc vào loại bo mạch hoàn hảo mà bạn sử dụng. Dành thêm một số chỗ ở trên cùng (phía trên chân 1 của ổ cắm CPLD) cho đầu nối JTAG và đầu nối nguồn. Tham khảo các hình ảnh về cái tôi đã chế tạo. Luồn dây trần (20 khổ trở lên) xung quanh bên ngoài các ổ cắm cho xe buýt mặt đất. Định tuyến xe buýt điện cũng được. (Dây màu đỏ trong hình.) Tham khảo các hình để biết một số hướng dẫn, nhưng bảng mạch của bạn có thể sẽ khác một chút - và điều đó là tốt. Điều này sẽ giúp neo dây xe buýt.

Bước 6: Xây dựng cái nôi - Phần 2

Xây dựng cái nôi - Phần 2
Xây dựng cái nôi - Phần 2
Xây dựng cái nôi - Phần 2
Xây dựng cái nôi - Phần 2

Lắp các nắp tách rời và kết nối chúng với mặt đất và chân nguồn ở mỗi bên của ổ cắm CPLD. Tôi đề nghị định tuyến các dây lên và qua các hàng chân bên ngoài để đến các hàng bên trong. Tham khảo sơ đồ số chân để có được các chân chính xác - việc cắm chân ra khỏi ổ cắm CPLD là điều hiển nhiên. Để lại đủ chỗ để cho phép kết nối với bất kỳ chân nào bạn luồn dây qua. Sau khi kết nối nắp được thực hiện, hãy kết nối nguồn và xe buýt mặt đất. Tất cả các chân màu đỏ trên sơ đồ là Vcc và phải được kết nối. Các chân đen được nối đất và cũng nên được kết nối. Một lần nữa, định tuyến nó trong không khí là một cách tiếp cận tốt. Nhìn vào những hình ảnh để biết ý tưởng.

Bước 7: Xây dựng cái nôi - Kết luận

Xây dựng cái nôi - Kết luận
Xây dựng cái nôi - Kết luận
Xây dựng cái nôi - Kết luận
Xây dựng cái nôi - Kết luận
Xây dựng cái nôi - Kết luận
Xây dựng cái nôi - Kết luận

Định tuyến các kết nối JTAG đến các chân chính xác. Hãy xem Cáp lập trình của bạn để đảm bảo đầu nối được định hướng chính xác. Đừng quên kéo lên trên chân TDO. Điều này chỉ được hiển thị trong hình và nằm giữa chân TDO và Vcc. Bước cuối cùng là kết nối mỗi chân I / O của CPLD với một chân trên ổ cắm. Sử dụng các số trong sơ đồ cho các kết nối. Điều này mất nhiều thời gian nhất! Nếu bạn làm theo sơ đồ đánh số của tôi, thì bạn có thể sử dụng sơ đồ Top View làm hướng dẫn khi nối mạch của mình. Bạn thực sự không cần phải kết nối tất cả những thứ này ban đầu, bạn có thể đợi cho đến khi bạn cần chúng cho các mạch mà bạn thiết kế. Kiểm tra công việc của bạn một cách cẩn thận. Hãy chắc chắn rằng nguồn điện và mặt đất không bị thiếu hụt!

Bước 8: Tạo Blinkenlights (Phiên bản TTL)

Tạo Blinkenlights (Phiên bản TTL)
Tạo Blinkenlights (Phiên bản TTL)

Tất nhiên, bạn sẽ muốn thấy mạch của mình hoạt động. Vì vậy, bạn sẽ muốn một số đèn nháy (được làm nổi tiếng bởi The Real Elliot). Điểm duy nhất là CPLD không có đầu ra mạnh mẽ như các bộ xử lý AVR. Sử dụng đèn LED được đánh giá cho 10ma và sử dụng điện trở dòng 1KOhm. Điều này sẽ cung cấp cho bạn tín hiệu đầu ra rõ ràng mà không làm căng các đầu ra CPLD.

Bước 9: Thực hiện chuyển mạch

Tạo công tắc
Tạo công tắc
Tạo công tắc
Tạo công tắc

Để cung cấp kích thích cho mạch của bạn, bạn sẽ cần một số công tắc. Bạn có một số tùy chọn ở đây, nhưng các yêu cầu khác với bộ xử lý AVR. Các đầu ra CPLD không có trình kéo lên tích hợp và việc gỡ lỗi trong phần mềm không dễ dàng như vậy. (Có thể, nhưng cần tài nguyên mà bạn có thể muốn sử dụng trong mạch của mình.) Các công tắc DIP được hiển thị cung cấp một số công tắc trong một gói tiện lợi, nhưng phải được kéo lên. Tôi đã sử dụng 1K pull-up. Có thể thực hiện các nút nhấn bằng cách sử dụng mạch mà Atmel đề xuất cho bảng demo của họ. Sơ đồ ở trang 36 hoặc lâu hơn. Một tùy chọn khác là kết nối bộ xử lý AVR để cung cấp kích thích - và thậm chí kiểm tra phản hồi. Nhưng đó là một bài tập còn lại cho học sinh.

Bước 10: Tạo mạch đầu tiên của bạn

Tạo mạch đầu tiên của bạn
Tạo mạch đầu tiên của bạn
Tạo mạch đầu tiên của bạn
Tạo mạch đầu tiên của bạn

Đến lúc này, bạn đã có thể lấy và cài đặt phần mềm. Làm theo hướng dẫn kỹ lưỡng, chi tiết để tạo mạch CPLD đơn giản đầu tiên của bạn (cổng AND hai đầu vào; không đơn giản hơn nhiều). Đảm bảo chọn đúng thiết bị (44 Pin PLCC, 5V, 1504AS [chi tiết]) và chọn số chân I / O có sẵn (tôi đã sử dụng 14 và 16 làm đầu vào; 28 làm đầu ra). Những chi tiết này hơi khác so với hướng dẫn, nhưng sẽ không gây cho bạn bất kỳ rắc rối nào.

Bước 11: Lập trình CPLD đầu tiên của bạn

Lập trình CPLD đầu tiên của bạn
Lập trình CPLD đầu tiên của bạn
Lập trình CPLD đầu tiên của bạn
Lập trình CPLD đầu tiên của bạn

Kết nối cáp lập trình của bạn với cổng song song trên PC của bạn, nối nó với Nôi lập trình của bạn, nối 5 Volts vào đầu nối Nguồn và làm theo hướng dẫn để thực sự lập trình CPLD đầu tiên của bạn. Chọn đúng phiên bản cáp. Lưu ý rằng Altera Byte-Blaster là một trong những tùy chọn.

Bước 12: Kiểm tra phần được lập trình của bạn

Kiểm tra phần được lập trình của bạn!
Kiểm tra phần được lập trình của bạn!
Kiểm tra phần được lập trình của bạn!
Kiểm tra phần được lập trình của bạn!

Ngắt kết nối Cáp lập trình của bạn khỏi giá đỡ. Cắm công tắc và đèn nháy vào đúng chân, bật nguồn và dùng thử. Vì bạn đang bắt đầu với một mạch đơn giản, nên việc thử nghiệm không phải là một thách thức lớn. Nếu nó hoạt động, bạn đã tắt và chạy! Sơ đồ chế độ xem trên cùng sẽ hướng dẫn bạn kết nối các công tắc và đèn nháy để thử nghiệm.

Bước 13: Phần cuối và một số tài nguyên web

Phần cuối và một số tài nguyên web
Phần cuối và một số tài nguyên web

Mục đích của hướng dẫn này không phải là dạy bạn cách sử dụng VHDL. (Tôi chỉ mới bắt đầu tìm hiểu đó là lý do tại sao tôi tạo ra lập trình viên, nhớ không?) Điều đó nói rằng, tôi đã tìm thấy một số hướng dẫn rất hữu ích và một số tài nguyên hữu ích mà tôi có thể chỉ cho bạn. Phản hồi và các đề xuất khác được đánh giá rất cao. Lưu ý rằng bạn cũng có thể sử dụng Hệ thống phát triển CPLD Ghetto để tìm hiểu Verilog và các kỹ thuật lập trình CPLD khác mà phần cứng không quan tâm. công cụ miễn phí. Những bài hướng dẫn mà tôi thích ở đây và ở đây, nhưng bạn sẽ tìm thấy rất nhiều bài khác. Cuối cùng (hiện tại), bạn sẽ muốn xem nhóm thảo luận.

Đề xuất: