Các phần mềm chuột firmware hoạt động như thế nào?

Các phần mềm chuột firmware hoạt động như thế nào?

• Tác giả: user

Driver chuột và Firmware chuột có lẽ đã quá quen thuộc với nhiều bạn gamer PC. Nhưng bạn có bao giờ thắc mắc chúng hoạt động như thế nào và thực sự mang lại tác dụng gì cho chuột. Mời xem tiếp bài chia sẻ dưới đây. Về bản chất, firmware của chuột đóng vai trò tương tự như firmware của smartphone hoặc driver của card màn hình vậy. Tuy nhiên cách chúng hoạt động như thế nào, sâu bên trong, thì vẫn còn là bí ẩn với nhiều người, tựa như một hộp đen bí mật vậy. Nhiều loại chuột chơi game tuy dùng cảm biến giống hệt nhau, nhưng lại có khả năng hỗ trợ các mức DPI khác nhau. Như trường hợp Roccat Kone Pure Optical có thể lên tới 4000 dpi. Zowie AM có thể lên tới 2300 dpi, tuy cả hai con này đều dùng cảm biến Avago ADNS 3090. Vậy sự khác biệt đến từ đâu? Chắc chắn đến từ firmware. Firmware là cách các nhà thiết kế mỗi con chuột xử lý dữ liệu mà cảm biến tạo ra, để mang lại nhiều khả năng khác biệt nhau cho từng loại chuột, dù đang dùng cùng loại cảm biến nền. Tuy trong một số trường hợp, việc dùng phần mềm mới, hiện đại hơn để đẩy DPI của một con chuột lên cao hơn so với chuột khác dùng cùng cảm biến cũng chưa hẳn là tốt. Vì khi đó cảm biến sẽ bị khai thác vượt quá giới hạn dự kiến của nhà sản xuất ban đầu, có thể gây ra ảnh hưởng không tốt đến hiệu suất ở các cài đặt DPI cao hơn.

Firmware chuột và Vi điều khiển là gì (firware & microcontroller)

Firmware là gì?

Firmware là phần mềm được nhúng vào sản phẩm. Firware đơn giản chỉ là một gói phần mềm có nhiệm vụ chỉ dẫn cho phần cứng biết cách nên hoạt động thế nào. Và phần mềm này được nhúng sẵn vào trong thiết bị từ khâu sản xuất lập trình tại nhà máy. Và vì firmware được embeded trực tiếp vào thiết bị nên nó sẽ hơi khác một chút so với Driver (trình điều khiển thiết bị). Firware của chuột chạy trên chính con chuột đó. Còn Driver (ví dụ của card màn hình đi) thì sẽ chạy trên hệ điều hành của người dùng và có nhiệm vụ chỉ cho phần mềm biết cách giao tiếp với phần cứng card màn hình. Nói tóm lại, Firware chỉ là mã cấp thấp cho thiết bị biết cách hoạt động.

Bộ vi xử lý trên chuột là gì?

Chuột chơi game sử dụng bộ vi xử lý để xử lý dữ liệu do cảm biến tạo ra và gửi dữ liệu đó đến PC. Bộ vi xử lý cũng chịu trách nhiệm thực hiện các tác vụ khác, như lưu trữ và phát lại các macro, liên kết nút và điều khiển ánh sáng. Và Firmware lúc này sẽ “nói cho” các bộ vi xử lý biết chúng nên làm gì mới đúng. Ví dụ cụ thể cho dễ hiểu. Vài dòng chuột gaming Logitech sử dụng bộ vi điều khiển ARM 32 bit để xử lý quá trình xử lý đó. Trong khi các chuột chơi game cũ hơn, đơn giản hơn và rẻ hơn sử dụng bộ xử lý yếu hơn nhiều. Điều đó có nghĩa là Firmware của chuột ngày nay phức tạp hơn đáng kể so với firmare trong các dòng chuột thời trước như MX518. Sự chênh lệch khả năng giữa firmware đời mới vs firmware đời cũ là rất lớn. Như giám đốc kỹ thuật cấp cao Logitech, ông Maxime Marini cho biết: Thời bắt đầu làm chuột, viết ra một firmware cách đây 20 năm, có thể tạo ra được 1000 dòng code. Nhưng bây giờ, con số đã lên đến 10.000, 20.000 kilobyte mã hoặc thậm chí nhiều hơn. Trò chơi phức tạp, tác vụ phức tạp và thời lượng dùng chuột nhiều đã đòi hỏi cao hơn cho độ mạnh của firmware. Sự phức tạp đó là một phần lý do khiến chuột chơi game và các thiết bị khác như smarphone thường xuyên có các bản update firmware định kỳ. Khi có hàng nghìn dòng mã thì khó tìm ra lỗi hơn. May mắn là các nhà sản xuất chuột luôn tìm ra cách mới mẻ hơn để đơn giản hóa mọi chuyện, khiến việc tìm ra lỗi diễn ra nhanh hơn, đáng tin cậy hơn. Thậm chí, một số dòng chuột gaming của Logitech không bao giờ cần tới cập nhật firmware. Hoặc một số dòng khác thì có update, nhưng không đáng kể, chỉ là thêm một số râu ria bên ngoài. Như G502 khi update firmware chỉ thêm vào tính năng phát đèn LED xung quanh chuột thay vì sáng hoặc tối hoàn toàn.

SROM của chuột là gì?

SROM = Secure read-only memory. Là một loại phương tiện lưu trữ và phân bổ các file firmware của chuột. Các firmware này là một tập văn bản ASCII với với mỗi byte 2 ký tự (biểu diễn thập lục phân) trên một dòng. SROM của chuột thường được lưu trữ trên MCU (hoặc lưu trữ theo cách khác tùy loại cảm biến). SROM giúp kiểm soát bên trong cách thức hoạt động của cảm biến (những thanh ghi nào có thể được truy cập hoặc ghi vào, CPI là bao nhiêu và bao nhiêu CPI). SROM chính xác là bộ não của một con chuột chơi game. Đây là các tham số mà cảm biến dùng để xác định cách thức hoạc động của nó. Còn Cảm biến là một miếng silicon hoặc silicium, một tấm wafer trên đó tất cả các bóng bán dẫn đều đặt ở đúng vị trí ngay từ đầu. Nhưng thông số của cảm biến vẫn có thể thay đổi được là nhờ SROM. Có thể hiểu cách khác, SROM là firmware dành riêng cho cảm biến. Bạn có thể thay đổi cách cảm biến điều khiển ánh sáng, cách hoạt động cùa tốc độ khung hình, độ nhạy và một số thứ khác, chỉ bằng cách tùy chỉnh SROM. SROM không phải lúc nào cũng flash được, tuy nhiên nó có thể được sửa đổi. Nên nhiều người cho rằng SROM thực chất mới chính là bộ não, phần hệ thần kinh quan trọng nhất của một con chuột gaming.

Thay đổi SROM dẫn đến thay đổi điều gì?

Mỗi lần chuột được kết nối với nguồn điện, SROM sẽ được nạp vào cảm biến (thông qua SPI nếu được đặt bên ngoài). Tuy có sự điều khiển chặt chẽ từ SCROM nhưng không phải tất cả các cảm biến chuột đều trả về dữ liệu theo dõi hoàn hảo. Bản thân từng loại cảm biến còn có những hạn chế nhất định, như về tốc độ tracking, số inch tối đa di chuyển trong mỗi giây trước khi nó ngừng hoạt động. Cho nên thay đổi SROM sang phiên bản mới hơn có thể giúp update lại firmware với một vài hiệu suất làm việc tốt hơn, giúp cho phản hồi của con trỏ chuột trở nên linh hoạt, dễ chịu hơn. Ví dụ: Cooler Master đã phát hành nhiều bản cập nhật firmware cho CM Storm Spawn, điều chỉnh hiệu suất cảm biến để giảm khoảng cách nâng lên và giảm độ trễ. Các nhà sản xuất cảm biến cũng sẽ cập nhật SROM cho cảm biến của họ khi họ tiếp tục R&D và những bản cập nhật đó đôi khi sẽ được chuyển cho các công ty sản xuất chuột và sau đó được chuyển đến những con chuột đã được phát hành thông qua bản cập nhật firmware. Cũng có trường hợp các bản update SROM lại gây ra tác động tiêu cực. Ví dụ Steelseries cho ra bản update SROM từ nhà sản xuất cảm biến, và đã có lỗi trong quá trình nay gây nên giảm hiệu suất dùng cho con chuột Steelseries Rival một thời.

LỜI KẾT

Firmware là phần quan trọng trong chuột. Nó bao gồm hàng nghìn, hàng chục nghìn dòng code, giúp kiểm soát mọi chi tiết nhỏ nhất như đèn RGB trên chuột và các lệnh macro… đến các tính năng cốt lõi nhất trên chuột như tối đa DPI của cảm biến, tốc độ tracking, lift-off distance và nhiều thứ khác nữa. Thiết kế chuột chỉ là phần vật lý bên ngoài, là 50% thành công và bản chất của một con chuột. Nếu không có các lập trình viên và kỹ sư phần mềm viết nên những dòng code hướng dẫn cách chuột hoạt động và đóng gói chúng lại thành một firmware hiệu quả thì rõ ràng một con chuột cũng chỉ là cục nhựa đắt tiền không hơn không kém.