Máy nạp ROM

Máy nạp ROM (tiếng Anh: device programmer hoặc ROM writer), đôi khi được gọi là bộ nạp ROM hay mạch nạp, máy nạp trình IC;

Là thiết bị điện tử chuyên dùng trong lĩnh vực phần cứng máy tính hoặc phần mềm nhúng (firmware - phần mềm điều khiển phần cứng). Nó có chức năng cấu hình (như đọc /ghi / xóa/ xác thực/ kiểm trắng) các chip nhớ bán dẫn kiểu vi mạch tích hợp điện tĩnh khả trình (programmable non-volatile intergrated circuits - các IC có khả năng lưu nhớ được ngay cả khi bị ngắt nguồn cấp điện) như là EPROMs, EEPROMs, Flashes, eMMC, MRAM, FRAM, NV RAM, PALs, FPGAs hay programmable logic circuit...

== Chức năng ==
Máy nạp ROM thường được dùng để ghi nạp dữ liệu cho các bộ nhớ bán dẫn kiểu bộ nhớ điện tĩnh được dùng trong các sản phẩm/ bo mạch điện tử. Việc ghi nạp được thực hiện bằng cách cắm con chip nhớ vào trong một đế nạp (thường kiểu kẹp ZIF) ở bên trên của máy nạp (off-board programming: kiểu nạp ngoài mạch), hoặc dùng một đoạn dây cáp để kết nối trực tiếp các chân điều khiển của máy nạp tới bo mạch chứa chip nhớ (on-board programming: kiểu nạp liền mạch, bao gồm hai kiểu nạp là In-circuit programming và In-system programming); Sau đó, dữ liệu được truyền vào trong con chip nhớ bằng cách cấp các tín hiệu điện từ các chân điều khiển tương ứng của máy nạp tới các chân được yêu cầu của con chip nhớ. Một số chip nhớ có giao diện giao tiếp kiểu nối tiếp cho nhận dữ liệu nạp trình (giao diện SPI hoặc JTAG chẳng hạn); Số khác thì lại yêu cầu dữ liệu nạp trình thông qua các chân điều khiển kiểu giao tiếp song song, mà ở đó thường yêu cầu một xung nạp trình có mức điện áp cao để ghi nạp dữ liệu vào trong con chip nhớ.

Thông thường thì máy nạp ROM được kết nối với một máy tính cá nhân thông qua một cổng kết nối máy in (printer port), cổng USB hoặc cổng LAN. Một chương trình phần mềm được cài đặt chạy trên máy tính sau đó truyền dữ liệu xuống cho máy nạp sau khi chọn mã con chip nhớ cần nạp trình, kiểu cổng giao tiếp, và sau đó bắt đầu thực hiện quá trình nạp để đọc /ghi / xóa/ xác thực/ kiểm trắng dữ liệu bên trong con chip nhớ. Để thuận tiện hơn cho người dùng, nhất là khu vực sản xuất nhằm nạp liên tục cho hàng loạt con chip nhớ một cách thuận tiện thì người ta có thể tích hợp luôn bên trong Máy nạp khối chức năng điều khiển, hiển thị & lưu trữ dữ liệu nạp để máy nạp có khả năng hoạt động được độc lập (stand-alone), thực hiện được công việc nạp trình mà không cần phải kết nối, giao tiếp với một máy tính cá nhân khác.

Một trong những điểm nổi bật nhất, quan trọng nhất của máy nạp Rom là các giải thuật nạp (programming algorithm) mà máy có khả năng hỗ trợ nạp được. Là bởi vì mỗi chip có một giải thuật (hay giao thức) nạp trình tương ứng do nhà sản xuất chip đã định nghĩa; cho nên chỉ các máy nạp Rom có hỗ trợ giải thuật nạp tương ứng cho chip nhớ cần nạp trình thì mới có khả năng cấu hình, giao tiếp với nó. Và thực tế là thường xuyên có các chip nhớ mới được ra đời, được cung ứng ra thị trường nên số lượng các mã chip nhớ mới, các giải thuật nạp cho chip nhớ mới cũng cần được bổ sung tương ứng cho các công cụ, máy nạp trình IC.

==Phân loại==
Có nhiều cách phân loại Máy nạp rom như: phân loại theo kiểu nạp trình, theo chủng loại chip được hỗ trợ, hoặc phân theo năng suất / số lượng kênh nạp (socket sites).

Theo kiểu nạp trình: được chia làm hai loại

- "Loại máy nạp off-board:" nạp kiểu song song (hay thường gọi là kiểu nạp socket), khi này các chip rời đơn sẽ được cắm vào đế nạp (socket adapter) để nạp dữ liệu cho nó (thông qua giao diện giao tiếp song song) sau đó được lấy (nhặt) ra khỏi socket để đem đi gắn lên bo mạch đích (target board). Kiểu nạp này hay được dùng trong sản xuất do đáp ứng khả năng nạp được, chuẩn bị sẵn được một số lượng lớn các chip trước khi thực hiện việc gia công, hàn gắn linh liện lên bo mạch => Đáp ứng tốt cho yêu cầu sản xuất hàng loạt, quy mô lớn các sản phẩm điện tử.

- "Loại máy nạp on-board:" có thể gọi là nạp kiểu nối tiếp; kiểu nạp này lại được chia làm hai loại là nạp in-circuit (ICP - In Circuit Programming) và nạp In-system (ISP - In System Programming). Kiểu nạp này sẽ nạp dữ liệu cho chip khi chip đang được gắn trên bo mạch đích thông qua giao diện nạp trình nối tiếp giữa mạch nạp và chip. Vì tính chất lệ thuộc vào bo mạch đích (target board) khi thực hiện việc nạp cho nên đôi khi nó là phức tạp, làm chậm thao tác nạp nếu cần nạp cho nhiều chip khác nhau; ngược lại, nếu chỉ nhằm nạp đi nạp lại cho một chip của bo đích trong quá trình phát triển ứng dụng thì nó lại rất hữu dụng, tiết kiệm thời gian và chi phí. => Đáp ứng tốt cho yêu cầu ở giai đoạn phát triển ứng dụng hoặc nâng cấp, sửa chữa sản phẩm; nó cũng hay được dùng cho công việc kiểm tra chức năng (FCT) trong sản xuất hàng loạt một số loại sản phẩm dùng chip nhớ nhạy cảm tĩnh điện.

"Lưu ý:" kiểu nạp nối tiếp (on-board) thường không có khả năng can thiệp tối đa vào các vùng nhớ và tham số cấu hình của chip như là kiểu nạp song song (off-board). Cho nên, một số trường hợp cần thay đổi cấu hình mặc định và/ hoặc nạp lại dữ liệu phần mềm loader (mã trình nạp ISP) của chip có hỗ trợ nạp on-board thì bắt buộc phải dùng kiểu nạp song song (off-board) mới được.

Theo chủng loại chip được hỗ trợ: có thể được chia làm hai loại là "Máy nạp đa năng" (hỗ trợ khả năng nạp được hầu hết các chủng loại chip nhớ khác nhau) và "máy nạp" (hoặc máy nạp chuyên biệt, chỉ hỗ trợ khả năng nạp trình được cho một số chủng loại chip nhớ nhất định).

Theo năng suất hay số lượng kênh nạp trình: có thể chia thành ba loại là máy nạp đơn kênh (single site programmer, chỉ nạp được một chip một lượt), máy nạp đa kênh (Multi sites hay Gang Programmer, nạp được đồng thời nhiều chip một lượt) và Máy nạp tự động (hay Hệ thống nạp trình tự động - Automated Programming System / Auto-handler Programming Machine, sử dụng cánh tay robot thay cho thao tác của con người để nhằm nạp số lượng lớn chip một cách đồng thời, liên tục cho sản xuất hàng loạt).