- Trước chuyến bay Shuttle đầu tiên năm 1981, Interim Teleprinter System đã được chế tạo như một thiết bị tạm thời chỉ trong 7 tháng để gửi quy trình, kế hoạch nhiệm vụ và báo cáo thời tiết cho phi hành đoàn
- Chiếc máy in này là thiết bị cải biên từ một đầu cuối liên lạc quân sự, in nhanh từng dòng bằng trống quay có ký tự nổi khắc trên bề mặt và 80 búa gõ
- Ban đầu nó chỉ được định dùng vài lần cho đến khi TAGS sẵn sàng, nhưng do TAGS gặp lỗi kẹt giấy nên nó tiếp tục được dùng làm thiết bị dự phòng trong hơn 50 chuyến bay
- Chỉ riêng việc đưa thiết bị nặng 59 pound này lên quỹ đạo đã tốn hơn 1,5 triệu USD mỗi chuyến bay theo mức chi phí của Shuttle, và vì các ràng buộc về tiếng ồn, quá nhiệt và tính dễ cháy nên cần thêm các cải tiến như vật liệu cách âm và chế độ chờ 1W
- Trong quá trình phục chế, các vấn đề như con lăn cao su bị chảy và sai lệch căn chỉnh cơ khí đã được khắc phục, và việc gửi dữ liệu điều chế FSK được reverse engineering đã giúp máy in thành công thực sự
Vì sao Shuttle cần một máy in
- Trong các nhiệm vụ Apollo, mặt đất sẽ đọc thông tin qua vô tuyến và phi hành đoàn tự ghi chép lại
- NASA muốn trang bị cho Space Shuttle một thiết bị có thể nhận văn bản và hình ảnh, và kế hoạch ban đầu là Uplink Text & Graphics System (TAGS), một thiết bị kiểu fax độ phân giải cao nặng 78 pound
- TAGS gửi ảnh thang độ xám đến Shuttle bằng luồng dữ liệu số, rồi tạo ảnh từng dòng trên giấy bạc halide nhạy sáng thông qua CRT trong khoang và một faceplate sợi quang
- Giấy được hiện hình khi đi qua các con lăn nóng ở 260ºF trong 25 giây
- TAGS cần Tracking and Data Relay Satellite System (TDRS), nhưng TDRS chưa sẵn sàng cho đến trước chuyến bay Shuttle thứ sáu
- Bảy tháng trước lần phóng Shuttle đầu tiên, NASA quyết định tạo một hệ thống tạm thời để gửi thay đổi kế hoạch bay theo thời gian thực và dữ liệu vận hành qua kênh âm thanh sẵn có
Thu gọn và cải biến đầu cuối quân sự cho Shuttle
- Thiết bị nền tảng là đầu cuối liên lạc quân sự AN/UGC-74 Tactical Teletype do Army phát triển và cũng được Navy cùng Air Force sử dụng
- Đầu cuối gốc hỗ trợ ASCII và Baudot, nhiều tốc độ baud, tín hiệu vòng dòng điện và tín hiệu điện áp, đồng thời có cả bàn phím cho liên lạc hai chiều
- Nó cũng bao gồm chức năng xử lý văn bản được điều khiển bằng vi xử lý Motorola 6800
- Chức năng này cho phép soạn thông điệp offline để giảm thời gian phát sóng vô tuyến trong môi trường thù địch
- Interim Teleprinter trên Shuttle chỉ nhận dữ liệu và không có bàn phím nên không dùng đến chức năng này
- Đầu cuối quân sự nặng 100 pound, nhưng sau khi cải biến cho Shuttle thì giảm xuống còn 59 pound
- Bàn phím và nhiều bộ điều khiển ở mặt trước đã bị loại bỏ
- Khung được thay bằng loại nhẹ hơn và thêm ray ngang để gắn vào ngăn chứa của Shuttle
- Mô-đun giao tiếp quân sự bị tháo bỏ và thay bằng bo mạch giao tiếp FSK dành cho Shuttle
In từng dòng bằng trống quay và 80 búa gõ
- Interim Teleprinter hoạt động bằng cách dùng trống quay có khắc các ký tự nổi, rồi búa gõ đập ruy-băng và giấy vào ký tự trên trống để in
- Trống rộng 80 ký tự, tương ứng độ dài một dòng, và mỗi vị trí in có một búa riêng nên tổng cộng có 80 búa
- Tại mỗi vị trí, có 64 ký tự có thể in được sắp xếp quanh chu vi trống
- Không có ký tự khoảng trắng riêng; khoảng trắng được thể hiện bằng cách không in gì
- 10 ký tự đặc biệt trên trống quân sự được thay bằng các ký hiệu hữu ích hơn cho Shuttle
;@[\\]^!\"#$được thay bằng θ✓‾↑↓~αβΔϕ
- Một dòng được in trong đúng một vòng quay của trống, và búa phải gõ vào đúng thời điểm ký tự mong muốn đi qua trước từng vị trí
- Câu kiểm tra tích hợp là
"THE LAZY YELLOW DOG WAS CAUGHT BY THE SLOW RED FOX AS HE LAY SLEEPING IN THE SUN"- Nó giống câu “quick brown fox” truyền thống, nhưng thiếu các chữ J, K, M, Q, V
- Câu này dài đúng 80 ký tự và rất hữu ích để kiểm tra cả 80 cột có hoạt động không bằng cách thay khoảng trắng bằng hình thoi
◊
Bo mạch tùy biến khôi phục dữ liệu nối tiếp từ liên kết âm thanh
- Teleprinter quân sự ban đầu nhận đầu vào là bitstream nối tiếp, nhưng trên Shuttle, dữ liệu được mã hóa bằng tần số của liên kết âm thanh
- Ba bo mạch tùy biến cho Shuttle sẽ giải điều chế dữ liệu âm thanh, bật nguồn máy in khi có thông điệp đến rồi đưa nó trở lại chế độ chờ
- Kết quả reverse engineering cho thấy bitstream nối tiếp được mã hóa bằng Frequency Shift Keying (FSK)
- Bit 1 được biểu diễn bằng 3600Hz, bit 0 bằng 7200Hz
- Dữ liệu nối tiếp được truyền ở 600 baud, even parity và 1 stop bit
- Luồng giải điều chế khuếch đại và lọc đầu vào âm thanh, sau đó biến sóng sin thành sóng vuông bằng ngưỡng, rồi dùng tự tương quan số để phân biệt 3600Hz và 7200Hz
- Bo điều khiển dùng thanh ghi dịch 64 bit để làm trễ đầu vào 139µs rồi XOR với tín hiệu gốc
- Tín hiệu 7200Hz lặp lại mỗi 139µs nên đầu vào và tín hiệu trễ giống nhau, khiến kết quả XOR là 0
- Sóng vuông 3600Hz đổi trạng thái mỗi 139µs nên kết quả XOR là 1
- Bộ giải điều chế số ít nhạy với mức tín hiệu hơn và tránh được các sóng hài cùng sự phụ thuộc vào bộ lọc tinh chỉnh chính xác, vốn có thể gây vấn đề cho bộ giải điều chế tương tự
- Sau giải điều chế, tín hiệu đi qua bộ lọc thông thấp 400Hz và xử lý ngưỡng để trở lại thành tín hiệu nhị phân, rồi chỉ được đưa vào bo logic máy in khi phát hiện có carrier
Cách các card logic thập niên 1970 điều khiển việc in
- Bốn card logic của teleprinter quân sự được giữ nguyên trên Shuttle
- Card CPU
- Card bộ nhớ
- Card truyền thông
- Card điều khiển in
- Mạch lớn như vậy vì công nghệ vi xử lý thập niên 1970 cần nhiều chip logic dòng 7400 cho các chức năng như giải mã địa chỉ, đệm và chốt dữ liệu
- Card CPU có CPU Motorola 6800, 4KB bộ nhớ và ROM chương trình
- Nó chuyển một dòng ký tự ASCII thành mã trống in rồi lưu vào bộ nhớ
- Nó cũng phụ trách cấu hình và tự kiểm tra
- Card điều khiển in đồng bộ vị trí trống với bộ đệm bộ nhớ để kích hoạt búa
- Nó quét bộ đệm bộ nhớ 80 ký tự bằng DMA cho từng hàng trên trống
- Khi giá trị trong bộ nhớ khớp với số hàng hiện tại của trống, nó sẽ kích hoạt búa tương ứng
- 20 hammer card, mỗi card có 4 búa, được điều khiển điện theo cấu trúc ma trận gồm 20 đường chọn bo và 4 đường chọn búa
- Card truyền thông dùng 8251A USART để chuyển luồng dữ liệu nối tiếp thành các byte cho CPU sử dụng
- Đầu cuối quân sự hỗ trợ cả gửi và nhận, nhưng teleprinter của Shuttle chỉ dùng phần nhận
- Card bộ nhớ cung cấp 8KB RAM và 8KB ROM cho chức năng xử lý văn bản
- Theo tài liệu hướng dẫn, máy in vẫn hoạt động nếu thiếu card này, chỉ mất chức năng xử lý văn bản
- Dù Shuttle không cần xử lý văn bản, card này vẫn không bị tháo bỏ, và đây vẫn là một điều khó hiểu
Thiết kế nguồn điện và dấu vết của tính năng bảo mật quân sự
- Bo nguồn là một bộ nguồn chuyển mạch cấp nguồn riêng cho nhiều phần khác nhau
- +5V, +12V, -5V cho vi xử lý
- +5V, -8.6V, +8.6V cho bàn phím, dustcover và interface module đã bị tháo bỏ trên Shuttle
- Nguồn cho đèn trạng thái
- Nguồn cho động cơ trống được điều chỉnh để kiểm soát tốc độ quay của trống
- Cảm biến trống cung cấp xung phản hồi cho từng hàng
- Nếu trống quay quá chậm thì tăng điện áp, nếu quá nhanh thì giảm điện áp
- Nguồn cho búa được thiết kế khá lạ: duy trì dòng không đổi 600mA
- Khi máy in hoạt động, nó tạo ra +18V
- Nếu các búa dùng ít dòng hơn, phần dòng dư sẽ được xả qua điện trở
- Thiết kế này là một tính năng quân sự nhằm che giấu thông tin in trong lúc có lưu lượng thông điệp
- Mục đích là ngăn các cuộc tấn công theo dõi biến động điện năng để suy ra búa nào đang hoạt động
- Trên Space Shuttle, đây là tính năng vô ích và chỉ làm lãng phí điện năng
- Teleprinter quân sự hỗ trợ 22–30VDC, 115VAC, 230VAC và pin dự phòng 12VDC, còn teleprinter của Shuttle chạy bằng 28VDC
Lắp đặt bên trong Shuttle và các ràng buộc vận hành
- Interim Teleprinter quá lớn để đặt trên flight deck nên được lắp trong ngăn chứa ở middeck, thấp hơn một tầng
- Vị trí là ngăn MA9F phía sau bên phải, và một bảng đầu nối được gắn trên cửa ngăn để cấp điện và kết nối âm thanh
- Do dùng phương pháp impact printing nên tiếng ồn lớn; ngay cả khi đặt trong ngăn, âm thanh bên ngoài vẫn ở mức 69.5dB
- Giải pháp là đặt vật liệu cách âm trong ngăn
- Sau khi thử nhiều loại vật liệu cách nhiệt, một loại đáp ứng yêu cầu về độc tính đã được chọn
- Vật liệu cách âm này cũng cần có waiver về tính dễ cháy
- Ngăn cách nhiệt không có làm mát đã dẫn đến vấn đề quá nhiệt
- Teleprinter quân sự tiêu thụ 34W ngay cả khi idle, nên chỉ sau 6 quỹ đạo cũng có thể nóng đến mức nguy hiểm
- Thiết kế cho Shuttle bổ sung chế độ chờ chỉ dùng 1W
- Khi phát hiện tín hiệu từ mặt đất, nguồn sẽ bật lên và sau khi dùng xong sẽ trở lại chế độ chờ
- Một mạch gửi tone về mặt đất cũng được thêm vào để Mission Control biết máy in đã thức dậy từ chế độ chờ
- Trong lúc phóng, kết nối âm thanh mà teleprinter dùng lại cần cho liên lạc của phi hành đoàn, nên teleprinter chỉ được kết nối sau khi phóng và cài đặt âm thanh trên panel L9 sẽ được cấu hình lại
Quá trình thay thế dẫn đến TAGS và TIPS
- Interim Teleprinter là thiết bị tạm thời chỉ dùng đến khi TAGS đi vào vận hành, nhưng các vấn đề độ tin cậy của TAGS đã làm thay đổi kế hoạch
- Vệ tinh TDRS đầu tiên được phóng trong STS-6, chuyến bay Shuttle thứ sáu, và TAGS có thể dùng từ STS-7
- TAGS bị kẹt giấy ngay trong STS-7, và vấn đề này còn tiếp diễn về sau
- Trong STS-35, sau khi máy in bị kẹt, cả dụng cụ gỡ kẹt cũng bị gãy
- Do TAGS không ổn định, Interim Teleprinter được giữ lại như thiết bị dự phòng
- Khoảng 10 năm sau, Thermal Impulse Printer System (TIPS) được đưa vào sử dụng và dường như đã được dùng trong chuyến bay STS-56 năm 1993
- Sau khi độ tin cậy của TIPS được xác nhận, nó thay thế cả teleprinter lẫn TAGS
- TIPS dựa trên máy in thương mại Raytheon TDU-850
- Giá sản phẩm thương mại lúc đó là 4.950 USD
- Bên trong có bo giao tiếp truyền thông tùy biến để kết nối với các hệ thống liên lạc S-Band và Ku-Band của Shuttle
- Nhờ giao tiếp này, phi hành đoàn cũng có thể dùng TIPS làm máy in cho máy tính cá nhân trong khoang
Kết quả phục chế và reverse engineering
- Thiết bị được tiếp cận có khả năng cao không phải bản dùng cho bay mà là hệ thống phát triển còn lại dưới mặt đất
- Trên bo có bodge wire và linh kiện bổ sung
- Ba bo tùy biến cho Shuttle không có lớp phủ conformal coating thường thấy trên bo hàng không vũ trụ
- Thiết bị có ghi “Not for flight”
- Vấn đề lớn nhất trong quá trình phục chế là con lăn cao su đã biến thành dạng lỏng, làm toàn bộ cơ cấu trở nên dính nhớp
- Máy in được tháo rời để làm sạch và căn chỉnh lại cơ cấu cơ khí, đồng thời khoảng cách giữa các búa cũng được điều chỉnh để chất lượng in đạt mức có thể đọc được
- Reverse engineering ba bo tùy biến cho Shuttle xác nhận rằng định dạng dữ liệu mà máy in nhận là dữ liệu nối tiếp được mã hóa dưới dạng âm thanh
- Máy in đã thực sự in thành công khi gửi dữ liệu điều chế FSK
Một thiết kế tạm thời nhưng sống lâu hơn dự kiến
- Interim Teleprinter nặng, có nguy cơ quá nhiệt, và dù dựa trên sản phẩm có sẵn, nó vẫn phải thay đổi rất nhiều từ mặt trước, trống in, giao tiếp cho đến khung máy
- Nó cũng thừa hưởng nguyên vẹn chức năng xử lý văn bản và tính năng bảo mật dòng không đổi, vốn không được dùng trên Shuttle
- Thời gian phát triển chỉ có 7 tháng, trong khi các ràng buộc như độc tính và tính dễ cháy đã giới hạn mạnh những cách tiếp cận khả thi
- Kết quả là Interim Teleprinter đã được dùng trong hơn 50 chuyến bay và tồn tại như một thiết bị dự phòng đáng tin cậy hơn TAGS
- Trái với tên gọi, Interim Teleprinter không chỉ là thiết bị tạm thời ngắn hạn mà trở thành một giải pháp hoạt động lâu hơn rất nhiều so với dự định
1 bình luận
Ý kiến trên Hacker News
Trống của máy in điện báo trên Shuttle đã in bằng cách thay 10 ký tự đặc biệt ASCII bằng các ký hiệu hữu ích hơn cho Shuttle, ví dụ như chữ cái Hy Lạp dùng cho góc
Cụ thể, các ký tự
;@[\]^!"#$được thay bằngθ~αβΔĐiều đáng thở dài là chiếc máy in cổ này in được chúng, nhưng trình duyệt Chrome hiện đại trên Android lại không hiển thị đúng
normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif;, còn News YC dùngVerdana, Geneva, sans-serif;Theo https://unicode.scarfboy.com/, các ký tự đó là:
U+03B8 θ GREEK SMALL LETTER THETA,U+2713 CHECK MARK,U+203E ‾ OVERLINE,U+2191 ↑ UPWARDS ARROW,U+2193 ↓ DOWNWARDS ARROW,U+007E ~ TILDE,U+03B1 α GREEK SMALL LETTER ALPHA,U+03B2 β GREEK SMALL LETTER BETA,U+0394 Δ GREEK CAPITAL LETTER DELTA,U+03D5 ϕ GREEK PHI SYMBOLNhững ký tự không hiển thị là U+2713 CHECK MARK,
U+203E ‾ OVERLINE,U+2191 ↑ UPWARDS ARROW,U+2193 ↓ DOWNWARDS ARROW,U+03D5 ϕ GREEK PHI SYMBOL, và tôi chỉ biết rằng đa số có trong Arial nhưng không có trong VerdanaMã hóa ký tự đúng là thú vị
Nếu Ken có đọc được, thì trên thiết bị của tôi vấn đề cụ thể là các ký tự được mã hóa bằng numeric entity. Khi tôi đổi chúng thành ký tự thật trong công cụ phát triển của Chrome trên Windows và Ubuntu thì chúng hiển thị bình thường
Bỏ thẻ đi thì trên Android ký tự hiển thị được, và ít nhất trong môi trường của tôi thì như vậy là giải quyết xong
Tôi không chắc có thể đổ lỗi cho Chrome hay Android về chuyện này hay không
Tôi là tác giả. Có câu hỏi gì thì tôi sẽ trả lời
Tôi tò mò họ đã mang theo bao nhiêu giấy trắng cho máy in, và lượng đó được quyết định như thế nào. Nhìn cỡ chữ trong ảnh thì nếu “hàng nghìn dòng” là thật, có lẽ cũng cần thêm ít nhất vài pound giấy nữa
Tôi đoán họ cũng đã tính đến hiệu ứng con quay hồi chuyển mà trống quay tạo ra đối với Shuttle. Một trong những lý do máy tính Shuttle dùng ổ băng thay vì ổ cứng cũng là vì trong môi trường không trọng lực nó có thể ảnh hưởng đến tư thế. Có lẽ khối lượng đủ nhỏ nên không thành vấn đề, hoặc vì đây không phải loại thiết bị quay liên tục 100% như ổ cứng nên vẫn ổn
Tôi cũng ngạc nhiên khi họ không xem xét Teletype Model 40. Nó nhẹ hơn, không có trống quay, có cấu hình chỉ nhận nên không cần cắt bỏ bàn phím, dùng ASCII, và đã là thiết bị được chứng nhận bay trên máy bay quân sự. Dù vậy, mốc thời gian có thể không khớp. Lần đầu tôi thấy nó là vào năm 1984 và khi đó nó được xem là “mới”, nên có thể năm 1981 nó còn chưa tồn tại
Model 40 dùng một băng quay chứa các palette ký tự riêng lẻ, và 80 búa, mỗi cột một cái, sẽ gõ đúng thời điểm để in ký tự. Trong video cũng có thể thấy puli của băng quay. Nếu không dùng trong một thời gian nhất định thì nó còn tự ngắt điện. Cũng có thể nghịch bằng cách thay đổi thứ tự các palette, vì hệ thống không theo dõi từng palette riêng lẻ mà chỉ đánh dấu vị trí bắt đầu của băng, nên nếu làm xáo trộn thứ tự sau đó thì ví dụ sẽ in ra N thay vì M
https://www.youtube.com/watch?v=whKVGefscro
https://en.wikipedia.org/wiki/Geneva_drive
Đọc bài thì tôi hiểu là có tổng cộng 3 ROM: một ROM 4KB trên card CPU và hai ROM 8KB trên card máy xử lý văn bản
Đây là một máy in trống, và một loại máy in tốc độ cao phổ biến khác cùng thời là máy in xích
Về cơ bản, nó có một hàng búa cho từng cột, cùng kiểu cấu trúc sẽ gõ khi chuỗi ký tự trên xích chạy rất nhanh trước mặt các búa để in ra, và nó thực sự rất nhanh
Lý do Shuttle không chọn máy in xích có lẽ phần lớn là vì chế độ hỏng hóc. Nếu xích bị đứt, nó có thể văng ra một bên máy in và xuyên thủng cả tường, nên người vận hành được cảnh báo không đứng bên cạnh
Dù nó ở phòng bên cạnh phía sau khoang chứa bản in, chỉ cần nghe tiếng in từ khoảng cách 20 feet cũng đã đáng sợ rồi
Trò nghịch trong phòng lab là chạy một chương trình liên tục in ra một dòng
-hoặc=không xuống dòng, khi đó nó sẽ chồng ký tự lên nhau cho đến cuối cùng giấy bị cắt hoặc máy in thường xuyên bị kẹtĐó là một trò đùa rất “thú vị”, nhất là vào tối Chủ nhật khi các bài in chương trình phải nộp trước giờ học thứ Hai dồn lại
Có vẻ như vào năm 1981 đã có máy in kim thương mại/dành cho người tiêu dùng. Những thiết bị như vậy hẳn nhẹ hơn nhiều và cũng tiêu thụ ít điện hơn so với máy in dòng dùng trống
Vào thời Shuttle đang được phát triển thì gần như chưa có máy in nào cả. Máy in phun và máy in laser để bàn chỉ mới được thương mại hóa từ 1 đến 3 năm trước chuyến bay đầu tiên của Shuttle vào năm 1981, và vẫn chưa thật sự đáng tin cậy. Máy in để bàn đến tận bây giờ cũng vẫn không đáng tin bằng máy điện báo hay máy in kim. Có lý do mà các hãng hàng không dùng máy in kim để in danh sách chuyến bay tại cổng ra máy bay
Khi đó bút vẽ mực, máy điện báo và máy fax mới là những thiết bị thống trị. Nhưng plotter thì chậm khủng khiếp nếu dùng để viết văn bản. Fax vô tuyến có thể đã là một lựa chọn nếu đủ bền bỉ, nhưng có lẽ nó cũng nặng gần như máy điện báo mà lại chậm hơn nhiều. Ưu điểm thực sự chỉ là in biểu đồ và ảnh
Khi Shuttle được thiết kế trong thập niên 1970, vẫn chưa có máy in kim rẻ, nhẹ và bền. Ý tưởng dùng linh kiện thương mại sẵn có (COTS) khi đó cũng chưa phổ biến, và phải nhiều năm sau khi STS đã được chế tạo và vận hành thì xu hướng đó mới đến
Tôi thật sự rất nhớ máy in kim
https://youtube.com/watch?v=A_vXA058EDY
Tôi thắc mắc vì sao họ không dùng máy in ma trận
Hoặc ít nhất là máy in nhiệt. Hồi đó máy fax rất phổ biến
Giờ tôi muốn xem mẫu bản in quá
Mà một lịch Snoopy được in bằng nó chắc cũng tuyệt lắm
Với câu hỏi “Nếu bộ xử lý văn bản không liên quan đến Shuttle, sao họ không tháo thẻ này ra để giảm trọng lượng?”, câu trả lời dường như nằm ở đoạn: “Chiếc máy điện báo của Shuttle mà chúng tôi tiếp cận có lẽ là hệ thống phát triển được để lại dưới mặt đất”
Các bộ phận cơ khí có lẽ vẫn còn có thể hoạt động, và cũng không cần đăng ký mực in
Ông giải thích: “Máy in có nhiều vấn đề cơ khí, chủ yếu vì các con lăn cao su đã biến thành dạng như chất lỏng và làm kẹt dính toàn bộ cơ cấu”