Shift registers មានប្រយោជន៍នៅក្នុងប្រព័ន្ធឌីជីថលដោយគ្រប់គ្រងរបៀបដែលទិន្នន័យត្រូវបានរក្សាទុក និងផ្ទេរ។ ក្នុងចំណោមពួកគេ ការចុះឈ្មោះការផ្លាស់ប្តូរ Serial-In Parallel-Out (SIPO) ផ្តល់នូវវិធីដ៏មានប្រសិទ្ធភាពក្នុងការបំប្លែងការបញ្ចូលសៀរៀលទៅជាទិន្នផលប៉ារ៉ាឡែល។ អត្ថបទនេះពន្យល់ពីរចនាសម្ព័ន្ធរបស់វា ប្រតិបត្តិការកម្រិតសញ្ញា និងឥរិយាបថពេលវេលា។
គ១. តើ SIPO Shift Register ជាអ្វី?
គ២. គោលការណ៍ការងារ និងការបំប្លែងទិន្នន័យនៃការចុះឈ្មោះប្ដូរ SIPO
គ៣. របៀបនៃប្រតិបត្តិការ
គ៤. ឧទាហរណ៍ជាជំហានៗ និងឥរិយាបថផ្ទេរទិន្នន័យ
គ៥. ឧបសគ្គពេលវេលា និងបញ្ហាទាក់ទងនឹងពេលវេលា
គ៦. ទិន្នផល Latch និង Cascading
គ៧. SIPO ទល់នឹង Serial-In Serial-Out (SISO)
គ៨. ការអនុវត្ត SIPO Shift Registers
គ៩. ឧបករណ៍ចុះឈ្មោះប្តូរ SIPO ទូទៅ
គ១០. សំណួរដែលគេសួរញឹកញាប់ [FAQ]

តើ SIPO Shift Register គឺជាអ្វី?
ការចុះឈ្មោះប្ដូរ Serial-In Parallel-Out (SIPO) គឺជាសៀគ្វីឌីជីថលដែលទទួលយកទិន្នន័យគោលពីរមួយប៊ីតក្នុងពេលតែមួយតាមរយៈការបញ្ចូលសៀរៀលតែមួយ និងរក្សាទុកប៊ីតនីមួយៗនៅក្នុងខ្សែសង្វាក់នៃ flip-flops ។ នៅពេលរក្សាទុក ប៊ីតទាំងអស់អាចអានជាមួយគ្នាតាមរយៈលទ្ធផលប៉ារ៉ាឡែលជាច្រើន។ មុខងារចម្បងរបស់វាគឺដើម្បីបំប្លែងទិន្នន័យសៀរៀលទៅជាទិន្នន័យប៉ារ៉ាឡែល។
គោលការណ៍ការងារ និងការបំប្លែងទិន្នន័យនៃការចុះឈ្មោះប្ដូរ SIPO

ការចុះឈ្មោះការផ្លាស់ប្តូរ SIPO ផ្លាស់ទីទិន្នន័យតាមរយៈស៊េរីនៃ flip-flops ដោយប្រើការផ្លាស់ប្តូរដែលគ្រប់គ្រងដោយនាឡិកា អនុញ្ញាតឱ្យប៊ីតបញ្ចូលបន្តបន្ទាប់ត្រូវបានរក្សាទុក និងចូលប្រើក្នុងពេលដំណាលគ្នានៅលទ្ធផល។
ការបញ្ចូលសៀរៀល (SI)
ការបញ្ចូលសៀរៀលផ្តល់នូវមួយប៊ីតក្នុងពេលតែមួយទៅកាន់ flip-flop ដំបូងនៅក្នុងបញ្ជី។ មុនពេលគែមនាឡិកាសកម្មកើតឡើង ប៊ីតបញ្ចូលត្រូវតែមានស្ថេរភាព ដូច្នេះវាអាចត្រូវបានចាប់យកបានត្រឹមត្រូវ។ នៅពេលដែលគែមនាឡិកាមកដល់ ប៊ីតថ្មីចូលទៅក្នុងដំណាក់កាលដំបូង ខណៈពេលដែលប៊ីតដែលបានរក្សាទុករួចហើយផ្លាស់ទៅដំណាក់កាលបន្ទាប់។ នេះបង្កើតការផ្ទេរទិន្នន័យជាជំហានៗតាមរយៈការចុះឈ្មោះ។
ទិន្នផលប៉ារ៉ាឡែល (Q0, Q1, Q2, ...)
flip-flop នីមួយៗមានទិន្នផលដែលបន្តឆ្លុះបញ្ចាំងពីប៊ីតដែលបានរក្សាទុកនៅក្នុងដំណាក់កាលនោះ។ លទ្ធផលទាំងនេះតំណាងឱ្យទីតាំងប៊ីតផ្សេងៗគ្នា ដែលអនុញ្ញាតឱ្យទិន្នន័យដែលបានរក្សាទុកត្រូវបានអានក្នុងទម្រង់ស្របគ្នា។ បន្ទាប់ពីគែមនាឡិកានីមួយៗ ទិន្នផលឆ្លុះបញ្ចាំងពីតម្លៃដែលបានធ្វើបច្ចុប្បន្នភាពបន្ទាប់ពីការពន្យារពេលការសាយភាយខ្លី ដែលអនុញ្ញាតឱ្យប៊ីតទាំងអស់ចូលប្រើក្នុងពេលដំណាលគ្នា។
សញ្ញានាឡិកា (CLK)
សញ្ញានាឡិកាគ្រប់គ្រងនៅពេលដែលទិន្នន័យផ្លាស់ទីតាមរយៈការចុះឈ្មោះ។ ទិន្នន័យផ្លាស់ប្តូរតែនៅលើគែមនាឡិកាដែលបានកំណត់ (កើនឡើង ឬធ្លាក់ចុះអាស្រ័យលើការរចនា)។ ចាប់តាំងពីស្បែកជើងទាំងអស់ចែករំលែកនាឡិកាដូចគ្នា ពួកគេឆ្លើយតបទៅនឹងព្រឹត្តិការណ៍ពេលវេលាដូចគ្នា។ រវាងគែមនាឡិកា តម្លៃដែលបានរក្សាទុកនៅតែមិនផ្លាស់ប្តូរ។
របៀបនៃប្រតិបត្តិការ

ខណៈពេលដែលការចុះឈ្មោះ SIPO មូលដ្ឋានដំណើរការតាមរយៈការផ្លាស់ប្តូរសៀរៀល ការរចនាមួយចំនួនរួមមានមុខងារគ្រប់គ្រងបន្ថែមដែលកែប្រែរបៀបដែលទិន្នន័យត្រូវបានផ្ទុក ឬធ្វើបច្ចុប្បន្នភាព។
របៀបផ្លាស់ប្តូរ
នៅក្នុងរបៀបផ្លាស់ប្តូរ ទិន្នន័យបញ្ចូលចុះឈ្មោះមួយប៊ីតក្នុងពេលតែមួយតាមរយៈការបញ្ចូលសៀរៀល។ ជាមួយនឹងជីពចរនាឡិកានីមួយៗ ប៊ីតដែលបានរក្សាទុកផ្លាស់ទីជាជំហានៗពី flip-flop មួយទៅបន្ទាប់ ខណៈពេលដែលរក្សាលំដាប់របស់ពួកគេ។ ការផ្លាស់ប្តូរជាបន្តបន្ទាប់នេះអនុញ្ញាតឱ្យទិន្នន័យបន្តបន្ទាប់ត្រូវបានរក្សាទុក និងផ្ទេរតាមលំដាប់។
សមត្ថភាពផ្ទុកប៉ារ៉ាឡែល (អាស្រ័យលើឧបករណ៍)
ការចុះឈ្មោះការផ្លាស់ប្តូរ SIPO ស្តង់ដារជាធម្មតាមិនរួមបញ្ចូលការផ្ទុកប៉ារ៉ាឡែលទេ។ ទោះជាយ៉ាងណាក៏ដោយ ការរចនាពង្រីក ឬកូនកាត់មួយចំនួន (ដូចជាការចុះឈ្មោះប្ដូរជាសកល) អនុញ្ញាតឱ្យទិន្នន័យត្រូវបានផ្ទុកទៅក្នុង flip-flops ទាំងអស់ក្នុងពេលដំណាលគ្នា។ នៅពេលដែលមុខងារនេះមានវត្តមាន សញ្ញាបញ្ជាអនុញ្ញាតឱ្យប៊ីតទាំងអស់ត្រូវបានចាប់យកនៅក្នុងព្រឹត្តិការណ៍នាឡិកាតែមួយ ដោយផ្តល់នូវការចូលប្រើភ្លាមៗទៅកាន់សំណុំទិន្នន័យពេញលេញដោយមិនចាំបាច់មានវដ្តការផ្លាស់ប្តូរច្រើន។
ឧទាហរណ៍ជាជំហានៗ និងឥរិយាបថផ្ទេរទិន្នន័យ
ពិចារណាការចុះឈ្មោះការផ្លាស់ប្តូរ SIPO 4 ប៊ីតដែលចាប់ផ្តើមពី 0000 ។ លំដាប់បញ្ចូលសៀរៀល 1011 ត្រូវបានអនុវត្តមួយប៊ីតក្នុងពេលតែមួយ។ ក្នុងឧទាហរណ៍នេះ ប៊ីតប្តូរឆ្ពោះទៅរកទីតាំងសំខាន់បំផុត ខណៈពេលដែលទីតាំងសំខាន់តិចបំផុតមានទិន្នន័យដែលបានបញ្ចូលថ្មីបំផុត។
| ជីពចរនាឡិកា | បញ្ចូលប៊ីត | ចុះឈ្មោះរដ្ឋ |
|---|---|---|
| ដំបូង | — | ០០០ |
| ១ | ១ | 0001 |
| ២ | 0 | 0010 |
| ៣ | ១ | 0101 |
| ៤ | ១ | ឆ្នាំ 1011 |
បន្ទាប់ពីជីពចរនាឡិកានីមួយៗ៖
ប៊ីតបញ្ចូលថ្មីចូលទៅក្នុងដំណាក់កាលដំបូង
ប៊ីតដែលបានរក្សាទុកពីមុនប្តូរទីតាំងមួយទៅមុខ
ប៊ីតមុនផ្លាស់ទីឆ្ពោះទៅរកដំណាក់កាលទិន្នផលចុងក្រោយ
បន្ទាប់ពីជីពចរចំនួនបួន, ទិន្នន័យ 4 ប៊ីតពេញលេញគឺអាចរកបាននៅក្នុងស្របគ្នា
នាឡិកាបន្តជំនួសប៊ីតដែលបានរក្សាទុកចាស់ជាមួយនឹងទិន្នន័យបញ្ចូលថ្មី
បន្ទាប់ពីជីពចរនាឡិកាចំនួនបួន ចុះឈ្មោះរក្សាទុក 1011 ហើយប៊ីតទាំងបួនអាចរកបាននៅទិន្នផលប៉ារ៉ាឡែល។
ឧបសគ្គពេលវេលា និងបញ្ហាទាក់ទងនឹងពេលវេលា
ប៉ារ៉ាម៉ែត្រពេលវេលា
| ប៉ារ៉ាម៉ែត្រ | ការពិពណ៌នា |
|---|---|
| ពេលវេលារៀបចំ | ការបញ្ចូលត្រូវតែមានស្ថេរភាពមុនគែមនាឡិកា |
| រង់ចាំពេលវេលា | ការបញ្ចូលត្រូវតែរក្សាស្ថេរភាពបន្ទាប់ពីគែមនាឡិកា |
| ការពន្យារពេលនៃការបន្តពូជ | ពេលវេលាដែលត្រូវការសម្រាប់លទ្ធផលដើម្បីធ្វើបច្ចុប្បន្នភាព |
| រយៈពេលនាឡិកា | ត្រូវតែអនុញ្ញាតឱ្យមានការដោះស្រាយសញ្ញាពេញលេញ |
ផលប៉ះពាល់នៃការរំលោភលើពេលវេលា
| បញ្ហា | លទ្ធផល |
|---|---|
| ការរំលោភលើការរៀបចំ | ការចាប់យកទិន្នន័យមិនត្រឹមត្រូវ |
| រក្សាការរំលោភបំពាន | លទ្ធផលមិនស្ថិតស្ថេរ |
| ល្បឿននាឡិកាលើស | ការផ្លាស់ប្តូរមិនពេញលេញ |
កំហុសពេលវេលាទូទៅ
| កំហុស | ផលប៉ះពាល់ |
|---|---|
| មិនអើពើតម្រូវការដំឡើង/សង្កត់ | ប្រតិបត្តិការដែលមិនអាចទុកចិត្តបាន |
| ការប្រើសញ្ញានាឡិកាលឿនពេក | ការរំលោភលើពេលវេលា |
| នាឡិកា jitter | ការកេះដោយអចេតនា |
ការអនុវត្តពេលវេលាល្អ
| អនុវត្ត | អត្ថប្រយោជន៍ |
|---|---|
| ប្រើប្រភពនាឡិកាដែលមានស្ថេរភាព | ឥរិយាបទកំណត់ពេលវេលាស្របគ្នា |
| គោរពការកំណត់/សង្កត់ដែនកំណត់ | ការពារកំហុសទិន្នន័យ |
| រក្សាប្រេកង់នាឡិកាក្នុងដែនកំណត់សុវត្ថិភាព | ប្រតិបត្តិការដែលអាចទុកចិត្តបាន |
| កាត់បន្ថយការពន្យារពេលផ្លូវ | ធ្វើឱ្យប្រសើរឡើងនូវស្ថេរភាពពេលវេលា |
ទិន្នផលគន្លឹះនិងល្បាក់
សោទិន្នផល (ការត្រួតពិនិត្យប្រសើរឡើង)

ការចុះឈ្មោះប្ដូរ SIPO មួយចំនួនរួមមានដំណាក់កាលចាក់សោទិន្នផលដាច់ដោយឡែកដែលអនុញ្ញាតឱ្យធ្វើបច្ចុប្បន្នភាពលទ្ធផល។
| ប្រតិបត្ដិការ | សញ្ញា | ឥទ្ធិពល / អត្ថប្រយោជន៍ |
|---|---|---|
| ការផ្លាស់ប្តូរទិន្នន័យតាមរយៈស្បែកជើងខាងក្នុង | នាឡិកាប្តូរ (SH_CP) | ផ្លាស់ទីទិន្នន័យតាមដំណាក់កាលដោយមិនប៉ះពាល់ដល់ទិន្នផល |
| ទិន្នន័យដែលបានរក្សាទុកបានផ្ទេរទៅដំណាក់កាលទិន្នផល | នាឡិកាចាក់សោ (ST_CP) | ធ្វើបច្ចុប្បន្នភាពលទ្ធផលទាំងអស់ក្នុងពេលតែមួយ |
| ការបញ្ចូលទិន្នន័យសៀរៀល | ការបញ្ចូលទិន្នន័យ (SER) | ផ្តល់ការបញ្ចូលប៊ីតស្ទ្រីម |
រចនាសម្ព័ន្ធនេះការពារទិន្នន័យកម្រិតមធ្យមពីការបង្ហាញនៅលទ្ធផល និងអនុញ្ញាតឱ្យធ្វើបច្ចុប្បន្នភាពធ្វើសមកាលកម្ម។
ការចុះឈ្មោះ SIPO ច្រើនល្បាក់

Cascading ពង្រីកចំនួនទិន្នផលដោយភ្ជាប់ការចុះឈ្មោះច្រើន។
| ទិដ្ឋភាព | ឥរិយាបថ | ការពិចារណាលើការរចនា | ពាក្យស្នើសុំ |
|---|---|---|---|
| ខ្សែសង្វាក់សៀរៀល | ទិន្នផលនៃការបញ្ចូលមួយបន្ទាប់ | ពេលវេលាកាន់តែសំខាន់ | ការពង្រីកម្ជុលទិន្នផល |
| នាឡិកាចែករំលែក | ចុះឈ្មោះទាំងអស់ប្រើនាឡិកាដូចគ្នា | ការពន្យារពេលនៃការបន្តពូជកើនឡើង | អារេ LED ឬអេក្រង់ |
| ការបំពេញតាមលំដាប់ | ទិន្នន័យបំពេញតាមដំណាក់កាល | ទាមទារវដ្តនាឡិកាបន្ថែមទៀត | ប្រព័ន្ធគ្រប់គ្រងពហុបន្ទាត់ |
SIPO ទល់នឹង Serial-In Serial-Out (SISO)

| លក្ខណៈពិសេស | ស៊ីប៉ូ | ស៊ីសូ |
|---|---|---|
| ប្រភេទបញ្ចូល | សៀរៀល | សៀរៀល |
| ប្រភេទលទ្ធផល | ប៉ារ៉ាឡែល | សៀរៀល |
| ការចូលប្រើទិន្នន័យ | ប៊ីតដែលបានរក្សាទុកទាំងអស់អាចរកបានក្នុងពេលតែមួយ | មួយប៊ីតក្នុងពេលតែមួយ |
| ចលនាទិន្នន័យ | ប្តូរចូល អានស្រប | ប្តូរតាមរយៈទិន្នផលតែមួយ |
| ការប្រើប្រាស់ធម្មតា | ការបំប្លែងទិន្នន័យ | ការពន្យាពេល ឬផ្ទេរទិន្នន័យ |
| ពេលវេលាទិន្នផល | អាចប្រើបានបន្ទាប់ពីផ្ទុក | លេចឡើងបន្ទាប់ពីការផ្លាស់ប្តូរពេញ |
ការអនុវត្ត SIPO Shift Registers

SIPO shift registers ត្រូវបានប្រើនៅពេលដែលទិន្នន័យសៀរៀលត្រូវការរក្សាទុក បំប្លែង ឬផ្ញើទៅកាន់បន្ទាត់ទិន្នផលជាច្រើនក្នុងពេលតែមួយ។
• ការរក្សាទុកទិន្នន័យសៀរៀលបណ្តោះអាសន្នមុនពេលប្រើប៉ារ៉ាឡែល – ពួកគេរក្សាប៊ីតសៀរៀលចូលរហូតដល់ពាក្យទិន្នន័យពេញលេញអាចរកបាន។
• ការបំប្លែងទិន្នន័យសៀរៀលទៅប៉ារ៉ាឡែល – ពួកគេបំប្លែងការបញ្ចូលមួយប៊ីតក្នុងមួយពេលទៅជាទិន្នផលប៉ារ៉ាឡែលច្រើនប៊ីត។
• ការពង្រីកទិន្នផលសម្រាប់សញ្ញាបញ្ជាឌីជីថល – ពួកគេអនុញ្ញាតឱ្យប្រព័ន្ធគ្រប់គ្រងខ្សែទិន្នផលជាច្រើនដោយប្រើម្ជុលបញ្ចូលតិចជាង។
• ការគាំទ្រការឌិកូដអាសយដ្ឋាន – ពួកគេអាចជួយផ្តល់អាសយដ្ឋានស្រប ឬប៊ីតបញ្ជាសម្រាប់ការជ្រើសរើសទីតាំងអង្គចងចាំ ឧបករណ៍ ឬផ្នែកសៀគ្វី។
ឧបករណ៍ចុះឈ្មោះប្តូរ SIPO ទូទៅ

• SN74ALS164A - ការចុះឈ្មោះការផ្លាស់ប្តូរ SIPO មូលដ្ឋានដោយគ្មានសោទិន្នផល; ការធ្វើបច្ចុប្បន្នភាពលទ្ធផលភ្លាមៗ

• SN74AHC594 – រួមបញ្ចូលគន្លឹះទិន្នផលសម្រាប់ការអាប់ដេតគ្រប់គ្រង

• SN74AHC595 – ការចុះឈ្មោះការផ្លាស់ប្តូរដ៏ពេញនិយមជាមួយនឹងការចុះឈ្មោះផ្ទុក និងទិន្នផលបីរដ្ឋ

• CD4094 – ឧបករណ៍ដែលមានមូលដ្ឋានលើ CMOS ដែលមានការគាំទ្រចាក់សោនិងល្បឿន
សំណួរដែលគេសួរញឹកញាប់ [FAQ]
តើការពន្យារពេលនៃការបន្តពូជប៉ះពាល់ដល់ការចុះឈ្មោះប្តូរ SIPO ច្រើនយ៉ាងដូចម្តេច?
ការពន្យារពេលនៃការបន្តពូជប្រមូលផ្តុំនៅទូទាំងដំណាក់កាល cascaded ដែលអាចបណ្តាលឱ្យមានការខុសពេលវេលារវាងទិន្នន័យសៀរៀល និងនាឡិកា។ នៅពេលដែលប្រវែងខ្សែសង្វាក់កើនឡើង អ្នករចនាត្រូវតែកាត់បន្ថយប្រេកង់នាឡិកា ឬបន្ថែមរឹមពេលវេលា ដើម្បីធានាបាននូវការផ្លាស់ប្តូរទិន្នន័យត្រឹមត្រូវ និងការធ្វើសមកាលកម្មទិន្នផលដែលមានស្ថេរភាព។
ហេតុអ្វីបានជាការចុះឈ្មោះការផ្លាស់ប្តូរ SIPO មួយចំនួនរួមបញ្ចូលសោទិន្នផល ហើយតើវាចាំបាច់នៅពេលណា?
សោទិន្នផលដាច់ដោយឡែកការផ្លាស់ប្តូរខាងក្នុងពីទិន្នផលខាងក្រៅ ការពារទិន្នន័យកម្រិតមធ្យមពីការបង្ហាញកំឡុងពេលផ្លាស់ប្តូរនាឡិកា។ វាចាំបាច់នៅក្នុងកម្មវិធីដូចជាការគ្រប់គ្រង LED ឬការបើកបរអេក្រង់ ដែលលទ្ធផលទាំងអស់ត្រូវតែធ្វើបច្ចុប្បន្នភាពក្នុងពេលដំណាលគ្នាដោយគ្មានកំហុសដែលអាចមើលឃើញ។
តើអ្វីជាដែនកំណត់ចម្បងនៃការប្រើប្រាស់បញ្ជីប្តូរ SIPO ជំនួសឱ្យឧបករណ៍ពង្រីក GPIO?
ការចុះឈ្មោះការផ្លាស់ប្តូរ SIPO ទាមទារនាឡិកាបន្ត និងការផ្ទុកទិន្នន័យបន្តបន្ទាប់ ដែលបង្កើនភាពយឺតយ៉ាវនៅពេលទទឹងទិន្នផលកើនឡើង។ វាក៏ខ្វះអាសយដ្ឋាន និងសមត្ថភាពអានត្រឡប់មកវិញ ដែលធ្វើឱ្យវាមិនសូវសមរម្យសម្រាប់ការត្រួតពិនិត្យស្មុគស្មាញ ឬទ្វេទិសបើប្រៀបធៀបទៅនឹងឧបករណ៍ពង្រីក GPIO ដោយប្រើ I²C ឬ SPI ។
តើពេលវេលារៀបចំ និងឧបសគ្គពេលវេលាកាន់ប៉ះពាល់ដល់ភាពជឿជាក់នៃការចុះឈ្មោះការផ្លាស់ប្តូរ SIPO យ៉ាងដូចម្តេច?
ប្រសិនបើការដំឡើង ឬតម្រូវការពេលវេលាសង្កត់ត្រូវបានរំលោភ ទិន្នន័យបញ្ចូលអាចមិនត្រូវបានចាប់យកបានត្រឹមត្រូវនៅគែមនាឡិកា ដែលនាំឱ្យមានកំហុសប៊ីត ឬលទ្ធផលមិនស្ថិតស្ថេរ។ ប្រតិបត្តិការដែលអាចទុកចិត្តបានទាមទារសញ្ញាបញ្ចូលដែលមានស្ថេរភាពមុន និងក្រោយការផ្លាស់ប្តូរនាឡិកា និងប្រេកង់នាឡិកាដែលអនុញ្ញាតឱ្យដោះស្រាយសញ្ញាពេញលេញ។
តើនៅពេលណាដែលអ្នករចនាគួរជៀសវាងការប្រើការចុះឈ្មោះប្តូរ SIPO នៅក្នុងប្រព័ន្ធឌីជីថល?
ការចុះឈ្មោះការផ្លាស់ប្តូរ SIPO គួរតែត្រូវបានជៀសវាងនៅពេលដែលការចូលប្រើចៃដន្យរហ័សទៅកាន់លទ្ធផលត្រូវបានទាមទារ នៅពេលដែលការទំនាក់ទំនងទ្វេទិសគឺចាំបាច់ ឬនៅពេលដែលឧបសគ្គពេលវេលាតឹងរឹង។ ក្នុងករណីបែបនេះ ចំណុចប្រទាក់ប៉ារ៉ាឡែល ឬឧបករណ៍ពង្រីកផ្អែកលើការទំនាក់ទំនងផ្តល់នូវដំណើរការ និងភាពបត់បែនកាន់តែប្រសើរ។