рднрд╛рдЧ 2: рдПрдХ 3 рдбреА рдкреНрд░рд┐рдВрдЯрд░ рдореЗрдВ рд╡реНрдпрд╡рдзрд╛рди рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реВ рдХреЗ рдпреВрдбреАрдмреА рдкреАрдПрд╕рдУрд╕реА рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛



рдкрд┐рдЫрд▓реА рдмрд╛рд░, рд╣рдордиреЗ рд╕реНрдЯреЗрдкрд░ рдореЛрдЯрд░реНрд╕ рдХреЗ рд▓рд┐рдП рджрд╛рд▓реЛрдВ рдХреЗ рдЙрддреНрдкрд╛рджрди рдХреЗ рд╡рд┐рдХрд▓реНрдк рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛, рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕реЗ рдлрд░реНрдорд╡реЗрдпрд░ рд╕реНрддрд░ рддрдХ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ред рдкреВрд░реНрдг рд╕рдлрд▓рддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ 40 kHz рддрдХ рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╡реНрдпрд╡рдзрд╛рдиреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХрд╛ рд╡рд╛рджрд╛ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЙрд╕ рд╡рд┐рдХрд▓реНрдк рдореЗрдВ рдХрдИ рд╕реНрдкрд╖реНрдЯ рдЦрд╛рдорд┐рдпрд╛рдВ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╡рд╣рд╛рдБ рддреНрд╡рд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рджреВрд╕рд░реЗ, рдЙрд╕ рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдЕрдиреБрдореЗрдп рдЪрд░рдг рдЖрд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рдЧреНрд░реЗрдиреНрдпреБрд▓рд┐рдЯреА рд╕реИрдХрдбрд╝реЛрдВ рд╣рд░реНрдЯреНрдЬ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 40,000 рд╣рд░реНрдЯреНрдЬ рдФрд░ 39966 рд╣рд░реНрдЯреНрдЬ рдХреА рдЖрд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрди рджреЛ рдореВрд▓реНрдпреЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ рдкрд░рд┐рдорд╛рдг рдХреЗ рд╕рд╛рде рдЖрд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ)ред

рддреНрд╡рд░рдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди


рдХреНрдпрд╛ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЬрдЯрд┐рд▓ рдХрд┐рдП рдмрд┐рдирд╛ рд╕рдорд╛рди рдпреВрдбреАрдмреА рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдХреЗрддрд┐рдд рдиреБрдХрд╕рд╛рди рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ? рдЪрд▓реЛ рдареАрдХ рд╣реИред рдЪрд▓реЛ рд╕рдмрд╕реЗ рдореБрд╢реНрдХрд┐рд▓ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ - рддреНрд╡рд░рдг рдХреЗ рд╕рд╛рдеред рдкрде рдХреА рд╢реБрд░реБрдЖрдд рдФрд░ рдЕрдВрдд рдореЗрдВ рддреНрд╡рд░рдг рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЕрдЧрд░ рдЙрдЪреНрдЪ рдЖрд╡реГрддреНрддрд┐ рд╡рд╛рд▓реЗ рджрд╛рд▓реЛрдВ рдХреЛ рддреБрд░рдВрдд рд╕реНрдЯреЗрдкрд░ рдореЛрдЯрд░ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдСрдкрд░реЗрд╢рди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╡рд░реНрддрдорд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЙрдЪреНрдЪ рдЕрдиреБрдореЗрдп рд╡рд░реНрддрдорд╛рди рд╣реАрдЯрд┐рдВрдЧ рдФрд░ рд╢реЛрд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд╕реАрдорд┐рдд рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рд▓реЗрдХрд┐рди рддрдм рдЗрдВрдЬрди рд╢реБрд░реВ рдореЗрдВ рд╣реА рдХрджрдореЛрдВ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЗрдВрдЬрди рдХреЛ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдЧрддрд┐ рджреЗрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рджреВрд╕рд░реЗ, рдпрджрд┐ рдХреЛрдИ рднрд╛рд░реА рд╕рд┐рд░ рдЕрдЪрд╛рдирдХ рд░реБрдХ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЬрдбрд╝рддрд╛ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗ рд░реЛрдЧрд┐рдпреЛрдВ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд░рддрд╛ рд╣реИред рд▓рд╣рд░реЗрдВ рдкреНрд▓рд╛рд╕реНрдЯрд┐рдХ рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдпрд╣ рди рдХреЗрд╡рд▓ рддрд┐рддрд░ рдмрд┐рддрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд▓реНрдХрд┐ рд╕рд┐рд░ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдЖрд╕рд╛рдиреА рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд╢рд╛рд╕реНрддреНрд░реАрдп рд░реВрдк рд╕реЗ, рдЯреНрд░реЗрдкреЗрдЬрд╝реЙрдЗрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдВрдЬрди рдХреА рдЧрддрд┐ рдХрд╛ рдПрдХ рдЧреНрд░рд╛рдл рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдорд╛рд░реНрд▓рд┐рди рдлрд╝рд░реНрдорд╡реЗрдпрд░ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рд╕реЗ рдПрдХ рдЕрдВрд╢ рд╣реИ:



рдореИрдВ рдпрд╣ рднреА рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдпреВрдбреАрдмреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдПрдХ рдФрд░ рдкреНрд░рдХрд╛рд░ рдХрд╛ рддреНрд╡рд░рдг рдЕрдм рдлреИрд╢рди рдореЗрдВ рд╣реИ: рдЯреНрд░реЗрдкреЛрдЬрд╝рд╛рдЗрдбрд▓ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдПрд╕-рдХрд░реНрд╡ред рдЙрдирдХрд╛ рд╢реЗрдбреНрдпреВрд▓ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:



рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпреВрдбреАрдмреА рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИред рдЫреЛрдбрд╝ рджреЗрдирд╛? рдмрд┐рд▓рдХреБрд▓ рдирд╣реАрдВ! рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдпреВрдбреАрдмреА рдПрдХ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╕ рдЖрдкрдХреЛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕реЗ рдлрд░реНрдорд╡реЗрдпрд░ рд╕реНрддрд░ рддрдХ рдХреЛрдб рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХреЛ рдХреЗрдВрджреНрд░реАрдп рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рджреЗрдВ, рдФрд░ рдЪрд░рдг рджрд╛рд▓реЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдЕрднреА рднреА рдпреВрдбреАрдмреА рдХрд░рддрд╛ рд╣реИред рдХреЗрдВрджреНрд░реАрдп рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдкрд╛рд╕ рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рдордп рд╣реИред рдмрд╛рд░-рдмрд╛рд░ рдЖрдиреЗ рд╡рд╛рд▓реА рд░реБрдХрд╛рд╡рдЯреЛрдВ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рдо рдХрд╛рдлреА рд╢рд╛рдиреНрддрд┐ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд░рд╣реЗрдЧрд╛, рдФрд░ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлрд░реНрдорд╡реЗрдпрд░ рд╕реНрддрд░ рдкрд░ рд▓реЗ рдЬрд╛рдиреЗ рдХреА рдХрд┐рд╕реА рдиреЗ рднреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рдмрдирд╛рдИ рд╣реИред

рдмреЗрд╢рдХ, рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдФрд░ UDB DMA рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд╣рд╛рдВ рд╕реЗ рдбреЗрдЯрд╛ рдЙрдард╛рдПрдВрдЧреЗред рд▓реЗрдХрд┐рди рдХрд┐рддрдиреА рдореЗрдореЛрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдПрдХ рдорд┐рд▓реАрдореАрдЯрд░ рдХреЛ 200 рдЪрд░рдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЕрдм 24-рдмрд┐рдЯ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде, рдпрд╣ 600 рдорд┐рдореА рдкреНрд░рддрд┐ 1 рдорд┐рдореА рд╕рд┐рд░ рдЖрдВрджреЛрд▓рди рд╣реИ! рдПрдХ рдмрд╛рд░ рдлрд┐рд░, рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рд╕рдм рдХреБрдЫ рд╕рдВрдЪрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрд╛рддрд╛рд░ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рд▓рдЧрд╛рддрд╛рд░ рд░реБрдХрд╛рд╡рдЯреЗрдВ? рд╕рдЪ рдореЗрдВ рдирд╣реАрдВ! рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдкреАрдПрд╕рдУрд╕реА рдХрд╛ рдбреАрдПрдордП рддрдВрддреНрд░ рд╡рд┐рд╡рд░рдгрдХреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдПрдХ рд╡рд┐рд╡рд░рдгрдХ рд╕реЗ рдХрд╛рд░реНрдп рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдбреАрдПрдордП рдирд┐рдпрдВрддреНрд░рдХ рдЖрдЧреЗ рдмрдврд╝рддрд╛ рд╣реИред рдФрд░ рдЗрд╕рд▓рд┐рдП, рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╕рд╛рде, рдЖрдк рдмрд╣реБрдд рд╕рд╛рд░реЗ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдЗрд╕реЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рд╕реЗ рдХреБрдЫ рдбреНрд░рд╛рдЗрдВрдЧ рдХреЗ рд╕рд╛рде рдЪрд┐рддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:



рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рддреАрди рд╡рд┐рд╡рд░рдгрдХреЛрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдХреЗ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

рд╕рдВрдЦреНрдпрд╛рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг
1рдкрддрд╛ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рдореЗрдореЛрд░реА рд╕реЗ FIFO рддрдХред рдПрдХ рддреНрд╡рд░рдг рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдиреБрднрд╛рдЧ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред
2рдкрддрд╛ рд╡реГрджреНрдзрд┐ рдХреЗ рдмрд┐рдирд╛ рд╕реНрдореГрддрд┐ рд╕реЗ рдлреАрдлреЛ рддрдХред рдирд┐рд░рдВрддрд░ рдЧрддрд┐ рдХреЗ рд▓рд┐рдП рд╕реНрдореГрддрд┐ рдореЗрдВ рдПрдХ рд╣реА рд╢рдмреНрдж рдХреЗ рд▓рд┐рдП рд╣рд░ рд╕рдордп рднреЗрдЬрддрд╛ рд╣реИред
3рдкрддрд╛ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рдореЗрдореЛрд░реА рд╕реЗ FIFO рддрдХред рдмреНрд░реЗрдХрд┐рдВрдЧ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдиреБрднрд╛рдЧ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдореБрдЦреНрдп рдкрде рдЪрд░рдг 2 рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ, рдФрд░ рд╡рд╣рд╛рдВ рдПрдХ рд╣реА рд╢рдмреНрдж рдХрд╛ рд╢рд╛рд░реАрд░рд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдирд┐рд░рдВрддрд░ рдЧрддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдореЗрдореЛрд░реА рдХреА рдЦрдкрдд рдмрдбрд╝реА рдирд╣реАрдВ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рджреВрд╕рд░реЗ рд╡рд┐рд╡рд░рдгрдХ рдХреЛ рднреМрддрд┐рдХ рд░реВрдк рд╕реЗ рджреЛ рдпрд╛ рддреАрди рд╡рд┐рд╡рд░рдгрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЯреАрдЖрд░рдПрдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрдзрд┐рдХрддрдо рдкрдВрдкрд┐рдВрдЧ рдХреА рд▓рдВрдмрд╛рдИ 64 рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ (рд╕рдВрд╢реЛрдзрди рдХрдо рд╣реЛрдЧреА) рд╣реЛ рд╕рдХрддреА рд╣реИред рдпрд╛рдиреА 32,767 рд╢рдмреНрджред 200 рдорд┐рд▓реАрдореАрдЯрд░ рдкреНрд░рддрд┐ рдорд┐рд▓реАрдореАрдЯрд░ рдХреА рджрд░ рд╕реЗ рдпрд╣ 163 рдорд┐рд▓реАрдореАрдЯрд░ рдХреЗ рдкрде рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдЧрд╛ред рдЗрдВрдЬрди рдХреЛ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдЕрдзрд┐рдХрддрдо рджреВрд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЖрдкрдХреЛ рджреЛ рдпрд╛ рддреАрди рднрд╛рдЧреЛрдВ рдХрд╛ рдПрдХ рдЦрдВрдб рдмрдирд╛рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИред

рдлрд┐рд░ рднреА, рдореЗрдореЛрд░реА (рдФрд░ рдпреВрдбреАрдмреА рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рдЦрд░реНрдЪ) рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ 24-рдмрд┐рдЯ рдбрд╛рдЯрд╛рдкрд╛рде рдмреНрд▓реЙрдХреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВ, рдЕрдзрд┐рдХ рдХрд┐рдлрд╛рдпрддреА 16-рдмрд┐рдЯреНрд╕ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

So. рд╕рдВрд╢реЛрдзрди рдХрд╛ рдкрд╣рд▓рд╛ рдкреНрд░рд╕реНрддрд╛рд╡ред

рд╕реНрдореГрддрд┐ рдореЗрдВ рдПрд░рд░реНрд╕ рддреИрдпрд╛рд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬреЛ рдЪрд░рдгреЛрдВ рдХреА рдЕрд╡рдзрд┐ рдХреЛ рдПрдиреНрдХреЛрдб рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА DMA рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ UDB рдХреЛ рдЬрд╛рддреА рд╣реИред рдЖрдпрддрд╛рдХрд╛рд░ рдЦрдВрдб рдПрдХ рддрддреНрд╡ рдХреА рдПрдХ рд╕рд░рдгреА рджреНрд╡рд╛рд░рд╛ рдПрдиреНрдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдбреАрдПрдордП рдмреНрд▓реЙрдХ рдкрддреЗ рдХреЛ рдирд╣реАрдВ рдмрдврд╝рд╛рддрд╛ рд╣реИ, рд╣рд░ рд╕рдордп рдПрдХ рд╣реА рддрддреНрд╡ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИред рддреНрд╡рд░рдг, рдЖрдпрддрд╛рдХрд╛рд░ рдФрд░ рдмреНрд░реЗрдХрд┐рдВрдЧ рдЕрдиреБрднрд╛рдЧ рдбреАрдПрдордП рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╕рд╛рдзрдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВред

рд▓рд▓рд┐рдд рдзреБрди рдорд┐рдбрд░реЗрдВрдЬ


рдЕрдм рд╣рдо рдЗрд╕ рдмрд╛рдд рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдлрд╝реНрд░реАрдХреНрд╡реЗрдВрд╕реА рдЧреНрд░реИрдиреНрдпреБрд▓реИрд░рд┐рдЯреА рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рджреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдмреЗрд╢рдХ, рдЗрд╕реЗ рдареАрдХ рд╕реЗ рд╕реЗрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореВрд▓ "рдлрд░реНрдорд╡реЗрдпрд░" рднреА рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╡реЗ рдмреНрд░реЗрд╕реЗрдирд╣реИрдо рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдХреБрдЫ рдЪрд░рдгреЛрдВ рдореЗрдВ рдПрдХ рдЙрдкрд╛рдп рдХреА рджреЗрд░реА рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдирддреАрдЬрддрди, рдФрд╕рдд рдЖрд╡реГрддреНрддрд┐ рдПрдХ рдЫреЛрдЯреЗ рдФрд░ рдмрдбрд╝реЗ рдореВрд▓реНрдп рдХреЗ рдмреАрдЪ рдордзреНрдпрд╡рд░реНрддреА рд╣реЛ рдЬрд╛рддреА рд╣реИред рдирд┐рдпрдорд┐рдд рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдЕрд╡рдзрд┐ рдХреЗ рдЕрдиреБрдкрд╛рдд рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдХреЗ, рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдФрд╕рдд рдЖрд╡реГрддреНрддрд┐ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдорд╛рд░реА рдЧрддрд┐ рдЕрдм рдбреЗрдЯрд╛ рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди FIFO рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░реЗрд╖рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рджрд╛рд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЖрдо рддреМрд░ рдкрд░ рдбреАрдПрдордП рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░реЗрд╖рд┐рдд рд╢рдмреНрджреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЗрдЯ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдпреВрдбреАрдмреА рдореЗрдВ рджреЛрдиреЛрдВ рдбреЗрдЯрд╛ рд░рдЬрд┐рд╕реНрдЯрд░ рдореБрдХреНрдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмреИрдЯрд░реА рдореЗрдВ рд╕реЗ рдПрдХ, рдЬреЛ рджрд╛рд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЧрд┐рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреЛ рднреА рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рд╣рдо рдЙрди рдкрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд PWM рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВрдЧреЗред

рдЖрдорддреМрд░ рдкрд░, ALU рдПрдХ рд╣реА рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рд╕рд╛рде рд░рдЬрд┐рд╕реНрдЯрд░ рдХреА рддреБрд▓рдирд╛ рдФрд░ рдЕрд╕рд╛рдЗрди рдХрд░рддреЗ рд╣реИрдВред рдЬрдм рдПрдХ рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ 0 рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рджреВрд╕рд░реЗ рдореЗрдВ 1 рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдСрдкрд░реЗрд╢рди рдХреЗ рд╣рд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рд╕реЗ рд╕реЙрд▓рд┐рдЯреЗрдпрд░ рдХреЛ рдПрдХ рд╕рд╛рде рд░рдЦрдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ рдЬрд┐рд╕рдХреЗ рддрд╣рдд PWM рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЪрд┐рддреНрд░ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред



рдЬрдм A0 <D1 рдХреА рд╢рд░реНрдд рдкреВрд░реА рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рд╣рдо рджрд┐рдП рдЧрдП рдирд╛рдбрд╝реА рдХреА рд▓рдВрдмрд╛рдИ рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╣рд░рд╛ рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗред рдЬрдм рд╣рд╛рд▓рдд рд╕рдВрддреБрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрдЧреА, рд╣рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред

рд╕рд╛рдорд╛рдиреНрдп рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЧреЛрд▓рд╛рдХрд╛рд░ рдШреЛрдбрд╝рд╛


рдЗрд╕рд▓рд┐рдП, рд╣рдо рдирдП рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, UDB рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╕рд┐рдд рдмреНрд▓реЙрдХ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рджрддреНрддрдкрд╛рда рдХреА рдЧрд╣рд░рд╛рдИ рдХреЛ рдмрджрд▓реЗрдВ:



рд╣рдореЗрдВ рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рджрддреНрддрдкрд╛рда рд╕реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдирд┐рдХрд╛рд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред



рдЙрди рдкрд░ рдбрдмрд▓-рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рд╡рд┐рд╡рд░рдг рджреЗрдЦрддреЗ рд╣реИрдВ:



рд░рд╛рдЬреНрдп рдЪрд░ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЕрдВрдХ рд╣реИрдВ, рдкреБрд░рд╛рдиреЗ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдордд рднреВрд▓рдирд╛ !!! рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рд▓рдЧрд╛рддрд╛рд░ 0 рдерд╛ред



рдЖрдЯреЛрдореЗрдЯрди рдХрд╛ рд╕рдВрдХреНрд░рдордг рдЧреНрд░рд╛рдл рдореБрдЭреЗ рдЗрд╕ рддрд░рд╣ рдорд┐рд▓рд╛:



рд╣рдо рдирд┐рд╖реНрдХреНрд░рд┐рдп рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ рд╣реИрдВ рдЬрдмрдХрд┐ FIFO1 рдЦрд╛рд▓реА рд╣реИред рд╡реИрд╕реЗ, FIFO1 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдФрд░ FIFO0 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рддреНрдпрд╛рдЧреА рдХреЗ рдмрд╣реБрдд рдЧрдарди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИред рдкреАрдбрдмреНрд▓реВрдПрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рдЬрд┐рд╕реНрдЯрд░ рдП 0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкрд▓реНрд╕ рдХреА рдЪреМрдбрд╝рд╛рдИ рд░рдЬрд┐рд╕реНрдЯрд░ рдП 1 рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рдФрд░ рдореИрдВ рдЗрд╕реЗ рдХреЗрд╡рд▓ FIFO1 рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ (рд╢рд╛рдпрдж рдЕрдиреНрдп рдЧреБрдкреНрдд рддрд░реАрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдореБрдЭреЗ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ)ред рдЗрд╕рд▓рд┐рдП, рдбреАрдПрдордП FIFO1 рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдЕрдкрд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ FIFO1 рдХреЗ рд▓рд┐рдП "рдЦрд╛рд▓реА рдирд╣реАрдВ" рд╕реНрдерд┐рддрд┐ рд╣реИ рдЬреЛ рдЖрдЗрдбрд▓ рд░рд╛рдЬреНрдп рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддрд╛ рд╣реИред

рдЖрдИрдбреАрдПрд▓рдИ рд░рд╛рдЬреНрдп рдореЗрдВ ALU рд░рдЬрд┐рд╕реНрдЯрд░ A0 рдХреЛ рд╢реВрдиреНрдп рдХрд░рддрд╛ рд╣реИ:



рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рддрд╛рдХрд┐ PWM рдСрдкрд░реЗрд╢рди рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдпрд╣ рд╣рдореЗрд╢рд╛ рд╢реБрд░реБрдЖрдд рд╕реЗ рд╣реА рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗред
рд▓реЗрдХрд┐рди рдбреЗрдЯрд╛ рдлреАрдлреЛ рдореЗрдВ рдорд┐рд▓ рдЧрдпрд╛ред рдорд╢реАрди рд▓реЛрдбрдбрд╛рдЯрд╛ рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ рдЬрд╛рддреА рд╣реИ:



рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, ALU рдЕрдЧрд▓рд╛ рд╢рдмреНрдж FIFO рд╕реЗ рд░рдЬрд┐рд╕реНрдЯрд░ A1 рдореЗрдВ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рд╕реЗ, рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░рд╛рдЬреНрдпреЛрдВ рдХреЛ рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд╛рдЙрдВрдЯрд░ A0 рдХрд╛ рдорд╛рди, рдЬреЛ PWM рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:



рдпрджрд┐ рдХрд╛рдЙрдВрдЯрд░ A0 рдЕрднреА рддрдХ рдорд╛рди D0 рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрд╛ рд╣реИ (рдЕрд░реНрдерд╛рдд, A0 <D0 рдХреА рд╕реНрдерд┐рддрд┐ рдЯреНрд░рд┐рдЧрд░ рд╣реЛ рдЧрдИ рд╣реИ, рдзреНрд╡рдЬ NoNeedReloadA0 рдХреЛ рд▓рд╛рджрддреЗ рд╣реБрдП ), рд╣рдо рдПрдХ рд░рд╛рдЬреНрдп рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВред рдЕрдиреНрдпрдерд╛, рд╕реНрдерд┐рддрд┐ ClearA0 рд╣реИ ред

ClearA0 рд╕реНрдерд┐рддрд┐ рдореЗрдВ , ALU рдмрд╕ A0 рдХрд╛ рдорд╛рди рд╢реВрдиреНрдп рдХрд░рддрд╛ рд╣реИ, рдПрдХ рдирдпрд╛ PWM рдЪрдХреНрд░ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ:



рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдорд╢реАрди рднреА рдПрдХ рд░рд╛рдЬреНрдп рдореЗрдВ рдЪрд▓реА рдЬрд╛рддреА рд╣реИ, рдмрд╕ рдПрдХ рдмрд╛рдж рдореЗрдВ рд╣рд░рд╛ рджреЗрддреА рд╣реИред

рдорд╢реАрди рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдПрдХ рдкрд░рд┐рдЪрд┐рдд рд╣реИред рдЗрд╕рдореЗрдВ ALU рдХреЛрдИ рдХрд╛рд░реНрдп рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдФрд░ рдЗрд╕рд▓рд┐рдП - рдЗрд╕ рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ, Out_Step рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдПрдХ рдпреВрдирд┐рдЯ рддреИрдпрд╛рд░ рдХреА рдЬрд╛рддреА рд╣реИ (рдпрд╣рд╛рдБ рдкрд░ рдЕрдиреБрдХреВрд▓рдХ рдиреЗ рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд┐рдпрд╛, рдЬрдм рдпреВрдирд┐рдЯ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрд╛рджрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдЕрдиреБрднрд╡рдЬрдиреНрдп рд░реВрдк рд╕реЗ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛)ред



рд╣рдо рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ рд╕рд╛рдд-рдмрд┐рдЯ рдХрд╛рдЙрдВрдЯрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬреНрдЮрд╛рдд рд╣реЛ, рд╢реВрдиреНрдп рдкрд░ рд░реАрд╕реЗрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдкрд╣рд▓реЗ рд╣рдо рдПрдХ рд░рд╛рд╕реНрддреЗ рд╕реЗ рдЗрд╕ рд░рд╛рдЬреНрдп рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддреЗ рдереЗ, рддреЛ рдЕрдм рджреЛ рд░рд╛рд╕реНрддреЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ: рд╕реАрдзреЗ рдФрд░ рджреЗрд░реА рд╕реЗ рдмреАрдЯред



рдпрджрд┐ AddCycle рдзреНрд╡рдЬ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ , рддреЛ рд╣рдо рдПрдХреНрд╕рдЯреНрд░рд╛ рд╕реНрдЯреЗрдЯ рдореЗрдВ рдкрд╣реБрдВрдЪ рдЬрд╛рдПрдВрдЧреЗ , рдЬрд┐рд╕реЗ A0 <D1 рдХреА рд╢рд░реНрдд рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ, ALU рдХреЛрдИ рд▓рд╛рднрдХрд╛рд░реА рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рд╣реИ рдХрд┐ рдЪрдХреНрд░ рдХреЛ 1 рдмреАрдЯ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рднреА рд░рд╛рд╕реНрддреЗ рд╡рд┐рд▓рдВрдм рд░рд╛рдЬреНрдп рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред

рдпрд╣ рд╕реНрдерд┐рддрд┐ рдирд╛рдбрд╝реА рдХреА рдЕрд╡рдзрд┐ рдХреЛ рдорд╛рдкрддреА рд╣реИред A1 ( рд▓реЛрдб рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд░рд╣рддреЗ рд╣реБрдП рднреА рд▓реЛрдб ) рд╢реВрдиреНрдп рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рддрдХ рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред



рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдПрдлрдЖрдИрдПрдлрдУ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдбреЗрдЯрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдорд╢реАрди рд▓реЛрдб рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдпрд╛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЕрдЧрд▓рд╛ рднрд╛рдЧ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдЧреАред рдЖрдЗрдП рдЗрд╕реЗ рдЖрдХреГрддрд┐ рдореЗрдВ рди рджреЗрдЦреЗрдВ (рд▓рдВрдмреЗ рддреАрд░ рд╣реИрдВ, рд╕рдм рдХреБрдЫ рдЫреЛрдЯрд╛ рд╣реЛрдЧрд╛), рд▓реЗрдХрд┐рди рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд░реВрдк рдореЗрдВ, рд╡рд┐рд▓рдВрдм рд╕реНрдерд┐рддрд┐ рдкрд░ рдбрдмрд▓-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ:



рдЕрдм UDB рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЖрдЗрдбрд▓ рд╕реНрдЯреЗрдЯ рдореЗрдВ рд╣реЛрдиреЗ рдХреЗ рдЭрдВрдбреЗ рдХреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рддреБрд▓рдирд╛ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ (рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдПрдХ рдЯреНрд░рд┐рдЧрд░ рдерд╛ рдЬрд┐рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рд░рд╛рдЬреНрдпреЛрдВ рдореЗрдВ рдХреЙрдХреНрдб рдФрд░ рд░реАрд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛), рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝рд░ рдиреЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рдпрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдбреАрдПрдордП рдЗрдХрд╛рдИ рдХреЛ рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реБрдП, рд╣рдВрдЧреНрд░реА рдзреНрд╡рдЬ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдерд╛ред рдпрд╣ рдзреНрд╡рдЬ рдкрд░ рдШрд╛рд╡ рд╣реИ "FIFO1 рднреАрдбрд╝ рдирд╣реАрдВ рд╣реИ" ред рдЪреВрдВрдХрд┐ рдпрд╣ рднреАрдбрд╝ рдирд╣реАрдВ рд╣реИ, рдбреАрдПрдордП рд╡рд╣рд╛рдВ рдПрдХ рдФрд░ рдбреЗрдЯрд╛ рд╢рдмреНрдж рд▓реЛрдб рдХрд░ рд╕рдХрддрд╛ рд╣реИред



рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рднрд╛рдЧ рдкрд░ - рдпрд╣реА рд╣реИред

рдореБрдЦреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЖрд░реЗрдЦ рдореЗрдВ рдбреАрдПрдордП рдмреНрд▓реЙрдХ рдЬреЛрдбрд╝реЗрдВред рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдбреАрдПрдордП рд╕рдорд╛рдкреНрддрд┐ рдЭрдВрдбреЗ рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рд▓реЗрдХрд┐рди рддрдереНрдп рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд╣реА рд╣реИред рдЬрдм рдореЗрдореЛрд░реА рддрдХ рд╕реАрдзреЗ рдкрд╣реБрдВрдЪ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреВрд░реА рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рдЖрдк рдЙрд╕реА рд╕реЗрдЧрдореЗрдВрдЯ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рдирдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдирдП рд╕реЗрдЧрдореЗрдВрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рднрд░рдирд╛ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдлреАрдлреЛ рдореЗрдВ рдЕрднреА рднреА рддреАрди рд╕реЗ рдЪрд╛рд░ рддрддреНрд╡ рд╣реИрдВред рдЗрд╕ рд╕рдордп, UDB рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмреНрд▓реЙрдХ рдХреЗ D0 рдФрд░ D1 рдХреЗ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдлрд┐рд░ рднреА рдЙрдиреНрд╣реЗрдВ рдСрдкрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ Out_Idle рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡реНрдпрд╡рдзрд╛рди рдмрд╛рдж рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рд╡рд╣ рд░рд╕реЛрдИ рдЕрдм UDB рдмреНрд▓реЙрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реЛрдЧреА, рдЗрд╕рд▓рд┐рдП рд╣рдо рдХреЗрд╡рд▓ рдЗрд╕реЗ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реЗрдВрдЧреЗред



рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреНрд░рдпреЛрдЧ


рдЪреВрдВрдХрд┐ рдЕрдм рд╕рдм рдХреБрдЫ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реИ, рд╣рдо рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрдп рдирд╣реАрдВ рд▓рд┐рдЦреЗрдВрдЧреЗред рд╕рднреА рдЬрд╛рдВрдЪ "рдорд╛рдереЗ рдкрд░" рдХреА рдЬрд╛рдПрдЧреАред рдлрд┐рд░, рд╕рдлрд▓ рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдПрдкреАрдЖрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред So. рд╣рдо рдореБрдЦреНрдп () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдиреНрдпреВрдирддрдо рдмрдирд╛рддреЗ рд╣реИрдВред рдпрд╣ рдмрд╕ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЪрдпрдирд┐рдд рдЯреЗрд╕реНрдЯ рдХреЛ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред

int main(void) { CyGlobalIntEnable; /* Enable global interrupts. */ // isr_1_StartEx(StepperFinished); StepperController_X_Start(); StepperController_Y_Start(); StepperController_Z_Start(); StepperController_E0_Start(); StepperController_E1_Start(); // TestShortSteps(); TestWithPacking (); for(;;) { } 

рдЪрд▓реЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рджрд╛рд▓реЛрдВ рдХрд╛ рдПрдХ рдкреИрдХреЗрдЯ рднреЗрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдирд╛рдбрд╝реА рдбрд╛рд▓рдиреЗ рдХреЗ рддрдереНрдп рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рд╕рд░рд▓ рд╣реИ:

 TestShortSteps(); 

рд▓реЗрдХрд┐рди рд╢рд░реАрд░ рдХреЛ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдореИрдВ рдкреВрд░реЗ рд╕рдорд╛рд░реЛрд╣ рдХреЛ рдкрд╣рд▓реЗ рджреВрдВрдЧрд╛
 void TestShortSteps() { //   ,   //      //   ,  DMA    !!! //    ,   !!! StepperController_X_SingleVibrator_WritePeriod (6); //     //    тАФ   CY_SET_REG16(StepperController_X_Datapath_1_D0_PTR, 4); CY_SET_REG16(StepperController_X_Datapath_1_D1_PTR, 2); //         . //         static const uint16 steps[] = { 0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001, 0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001 }; //  DMA  ,      uint8 channel = DMA_X_DmaInitialize (sizeof(steps[0]),1,HI16(steps),HI16(StepperController_X_Datapath_1_F1_PTR)); CyDmaChRoundRobin (channel,true); //       ,       uint8 td = CyDmaTdAllocate(); //       .  ,    . CyDmaTdSetConfiguration(td, sizeof(steps), CY_DMA_DISABLE_TD, TD_INC_SRC_ADR | TD_AUTO_EXEC_NEXT); //       CyDmaTdSetAddress(td, LO16((uint32)steps), LO16((uint32)StepperController_X_Datapath_1_F1_PTR)); //      CyDmaChSetInitialTd(channel, td); //         CyDmaChEnable(channel, 1); } 


рдЕрдм рдЗрд╕рдХреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рднрд╛рдЧреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

рдпрджрд┐ рдирд╛рдбрд╝реА рдХреЗ рд╕рдХрд╛рд░рд╛рддреНрдордХ рднрд╛рдЧ рдХреА рд▓рдВрдмрд╛рдИ 92 рдШрдбрд╝реА рдЪрдХреНрд░ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ, рддреЛ рдЖрд╕реНрдЯрд╕реАрд▓рд╕реНрдХрдк рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдХрд┐ рдирдХрд╛рд░рд╛рддреНрдордХ рднрд╛рдЧ рдореЗрдВ рдПрдХрд▓-рдЪрдХреНрд░ рд╕рдореНрдорд┐рд▓рд┐рдд рд╣реИ рдпрд╛ рдирд╣реАрдВред рдкреИрдорд╛рдирд╛ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рд╕рдХрд╛рд░рд╛рддреНрдордХ рднрд╛рдЧ рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рдЫреЛрдЯрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдП рддрд╛рдХрд┐ рдХреБрд▓ рдкрд▓реНрд╕ рд╕рдореНрдорд┐рд▓рд┐рдд рд╣рд░рд╛ рдХреЗ рд╕рд╛рде рдкреИрдорд╛рдиреЗ рдкрд░ рддреБрд▓рдиреАрдп рд╣реЛред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдЬрдмрд░рджрд╕реНрддреА рдЙрд╕ рдХрд╛рдЙрдВрдЯрд░ рдХреА рдЕрд╡рдзрд┐ рдХреЛ рдмрджрд▓рддрд╛ рд╣реВрдВ рдЬреЛ рдкрд▓реНрд╕ рдХреЗ рд╕рдХрд╛рд░рд╛рддреНрдордХ рднрд╛рдЧ рдХреА рдЕрд╡рдзрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ:

  //   ,   //      //   ,  DMA    !!! //    ,   !!! StepperController_X_SingleVibrator_WritePeriod (6); 

рд▓реЗрдХрд┐рди рдЫрд╣ рдкреВрд░реЗ рдЙрдкрд╛рдп рдХреНрдпреЛрдВ? рддреАрди рдХреНрдпреЛрдВ рдирд╣реАрдВ? рджреЛ рдХреНрдпреЛрдВ рдирд╣реАрдВ? рдЖрдЦрд┐рд░рдХрд╛рд░, рдПрдХ рдХреНрдпреЛрдВ рдирд╣реАрдВ? рдпрд╣ рдПрдХ рджреБрдЦрдж рдХрд╣рд╛рдиреА рд╣реИред рдпрджрд┐ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдирд╛рдбрд╝реА 6 рдЪрдХреНрд░реЛрдВ рд╕реЗ рдЫреЛрдЯреА рд╣реИ, рддреЛ рд╕рд┐рд╕реНрдЯрдо рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдПрдХ рдЖрд╕реНрдЯрд╕реАрд▓рд╕реНрдХрдк рдкрд░ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдбрд┐рдмрдЧрд┐рдВрдЧ рдмрд╛рд╣рд░ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдЙрддреНрдкрд╛рджрди рдХреЗ рд╕рд╛рде рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рдХрд┐ рдбреАрдПрдордП рдПрдХ рддреЗрдЬ рдЪреАрдЬ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдорд╢реАрди рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрд╡рдзрд┐ рд╕реЗ рдХрдо рд╕рдордп рдХреЗ рд▓рд┐рдП рдЪрд▓ рд░рд╣реА рд╣реИ, рддреЛ рдЬрдм рддрдХ рдпрд╣ рд╡рд┐рд▓рдВрдм рд╕реНрдерд┐рддрд┐ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ , рддрдм рддрдХ FIFO рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЦрд╛рд▓реА рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдЕрднреА рддрдХ рдПрдХ рднреА рдирдпрд╛ рдбреЗрдЯрд╛ рд╢рдмреНрдж рдирд╣реАрдВ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ! рдФрд░ рдХреЗрд╡рд▓ рдЬрдм рдирд╛рдбрд╝реА рдХреЗ рд╕рдХрд╛рд░рд╛рддреНрдордХ рднрд╛рдЧ рдХреА рдЕрд╡рдзрд┐ 6 рдЪрдХреНрд░ рд╣реЛрддреА рд╣реИ, рддреЛ FIFO рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдХреА рдЧрд╛рд░рдВрдЯреА рд╣реЛрддреА рд╣реИ ...

рд╡рд┐рд▓рдВрдмрддрд╛ рд╡рд┐рд╖рдпрд╛рдВрддрд░


рдПрдХ рдФрд░ рд╡рд┐рдЪрд╛рд░ рдЬреЛ рдореЗрд░реЗ рд╕рд┐рд░ рдореЗрдВ рдмреИрдарддрд╛ рд╣реИ рд╡рд╣ рд╣реИ рд╣рдорд╛рд░реЗ RTOS MAX рдХреЗ рдХрд░реНрдиреЗрд▓ рдХреЗ рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рддреНрд╡рд░рдгред рд▓реЗрдХрд┐рди рдЕрдлрд╕реЛрд╕, рдореЗрд░реЗ рд╕рднреА рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреЗ рд╡рд┐рдЪрд╛рд░ рдЙрдиреНрд╣реАрдВ рдЕрдХреНрд╖рд╛рдВрд╢реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИрдВред

рдПрдХ рдорд╛рдорд▓рд╛ рдерд╛, рдореИрдВрдиреЗ рд╕рд╛рдЗрдХреНрд▓реЛрди рд╡реА SoC рдХреЗ рд▓рд┐рдП рдирдВрдЧреЗ рдзрд╛рддреБ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╕рд┐рдВрдЧрд▓ рдПрдлрдкреАрдЬреАрдП рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ (рдЬрдм рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдЙрдиреНрд╣реЗрдВ рд▓рд┐рдЦрдирд╛ рд╣реИ, рддреЛ рдЙрдирд╕реЗ рдкрдврд╝рдирд╛) рдХреЛрд░ рдСрдкрд░реЗрд╢рди рдХреЛ рд╕реИрдХрдбрд╝реЛрдВ (!!!) рдХрдо рдХрд░ рджреЗрддрд╛ рд╣реИред рдЖрдкрдиреЗ рд╕рд╣реА рд╕реБрдирд╛ред рдпрд╣ рд╕реИрдХрдбрд╝реЛрдВ рдореЗрдВ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╕рдм рдЦрд░рд╛рдм рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рддреЛ рдореБрдЭреЗ рдЕрдВрджрд░ рд╕реЗ рд╣реЛрд╢ рдЖрдпрд╛, рдФрд░ рдлрд┐рд░ рдкреНрд░рд▓реЗрдЦрди рд╕реЗ рд╡рд╛рдХреНрдпрд╛рдВрд╢реЛрдВ рдХреЗ рд╕реНрдХреНрд░реИрдк рд╕реЗ рд╕рд╛рдмрд┐рдд рд╣реБрдЖ рдХрд┐ рдкреБрд▓реЛрдВ рдХреЗ рдПрдХ рдЭреБрдВрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдиреБрд░реЛрдз рдкрд╛рд░рд┐рдд рдХрд░рддреЗ рд╕рдордп рд╡рд┐рд▓рдВрдмрддрд╛ рджреЛрд╖реА рдереЗред рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХ рдмрдбрд╝реЗ рд╕рд░рдгреА рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╡рд┐рд▓рдВрдмрддрд╛ рднреА рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдПрдХ рдкрдВрдк рдХрд┐рдП рдЧрдП рд╢рдмреНрдж рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЬрдм рдЕрдиреБрд░реЛрдз рдПрдХрд▓ рд╣реЛрддреЗ рд╣реИрдВ (рдФрд░ рдУрдПрд╕ рдХрд░реНрдиреЗрд▓ рдХреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рддреНрд╡рд░рдг рдХрд╛ рддрд╛рддреНрдкрд░реНрдп рд╕рд┐рд░реНрдл рдЙрдирд╕реЗ рд╣реЛрддрд╛ рд╣реИ), рдордВрджреА рдареАрдХ рд╕реИрдХрдбрд╝реЛрдВ рдмрд╛рд░ рдЬрд╛рддреА рд╣реИред рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рддрд░реАрдХреЗ рд╕реЗ рд╕рдм рдХреБрдЫ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рддреЗрдЬ рд╣реЛрдЧрд╛, рдЬрдм рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореБрдЦреНрдп рдореЗрдореЛрд░реА рдХреЗ рд╕рд╛рде рдПрдХ рдЙрдиреНрдорддреНрдд рдЧрддрд┐ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

PSoC рдкрд░, рдореЗрд░реА рднреА рдХреБрдЫ рдпреЛрдЬрдирд╛рдПрдБ рдереАрдВред рдЙрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдк рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рдбреАрдПрдордП рдФрд░ рдпреВрдбреАрдмреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рдбреЗрдЯрд╛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ! рдбреАрдПрдордП рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдХрд╛рд░рдг, рдпреЗ рдирд┐рдпрдВрддреНрд░рдХ рд▓рд┐рдВрдХ рдХрд┐рдП рдЧрдП рд╕реВрдЪрд┐рдпреЛрдВ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЦреЛрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ! рд▓реЗрдХрд┐рди рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдкреНрд▓рдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдпрд╣ рднреА рд╡рд┐рд▓рдВрдмрддрд╛ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдпрд╣рд╛рдБ, рдЗрд╕ рд╡рд┐рд▓рдВрдмрддрд╛ рдХреЛ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЦреВрдмрд╕реВрд░рддреА рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рджреЛрдиреЛрдВ рдкрд░рд┐рд╡рд╛рд░ TRM рдореЗрдВ рдФрд░ рдПрдХ рдЕрд▓рдЧ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ AN84810 рдореЗрдВ - PSoC 3 рдФрд░ PSoC 5LP рдПрдбрд╡рд╛рдВрд╕реНрдб DMA рдЯреЙрдкрд┐рдХреНрд╕ ред рд╡рд╣рд╛рдБ рдЦрдВрдб 3.2 рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реИред рдЗрд╕рд▓рд┐рдП рдЕрдЧрд▓рд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рддреНрд╡рд░рдг рд░рджреНрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдПрдХ рджрдпрд╛ред рд▓реЗрдХрд┐рди, рдХреЗ рд░реВрдк рдореЗрдВ Semyon Semyonovich Gorbunkov рдиреЗ рдХрд╣рд╛: "рд╣рдо рдЦреЛрдЬ рдХрд░реЗрдВрдЧреЗред"

рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЬрд╛рд░реА рд░рдЦрдирд╛


рдЕрдЧрд▓рд╛, рдореИрдВрдиреЗ рдмреНрд░реЗрд╕реЗрдирд╣реИрдо рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИ:

  //     //    тАФ   CY_SET_REG16(StepperController_X_Datapath_1_D0_PTR, 4); CY_SET_REG16(StepperController_X_Datapath_1_D1_PTR, 2); 

рдЦреИрд░, рдлрд┐рд░ рдирд┐рдпрдорд┐рдд рдХреЛрдб рдЖрддрд╛ рд╣реИ рдЬреЛ рдЗрдВрдЬрди рдХрдВрдЯреНрд░реЛрд▓ рдпреВрдирд┐рдЯ X рдХреЗ FIFO1 рдХреЗ рд▓рд┐рдП DMA рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╢рдмреНрджреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред

рдкрд░рд┐рдгрд╛рдо рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣рд╛рдБ рдпрд╣ рд╣реИ:



рдЬрдм рдорд╢реАрди рдПрдХ рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ рд╣реЛрддреА рд╣реИ рддреЛ рдХрд╛рдЙрдВрдЯрд░ A0 рдХрд╛ рдорд╛рди рд▓рд╛рд▓ рд░рдВрдЧ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЧреНрд░реАрди рддрд╛рд░рд╛рдВрдХрди рдорд╛рдорд▓реЛрдВ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬрдм рдорд╢реАрди рдПрдХреНрд╕реНрдЯреНрд░рд╛рдЯреАрдХ рд░рд╛рдЬреНрдп рдореЗрдВ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рд╡рд┐рд▓рдВрдм рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред рдРрд╕реА рдкрдЯреНрдЯрд┐рдпрд╛рдВ рднреА рд╣реИрдВ рдЬрд╣рд╛рдВ рдХреНрд▓рд┐рдпрд░ рдПрдПрдП 0 рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рджреЗрд░реА рд╣реЛ рд░рд╣реА рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдиреАрд▓реЗ рдЧреНрд░рд┐рдб рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдм рдЖрдк рдкрд╣рд▓реА рдмрд╛рд░ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдкрд╣рд▓реА рджреЗрд░реА рдЦреЛ рдЬрд╛рддреА рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдЗрдбрд▓ рдореЗрдВ рд╣реЛрдиреЗ рдкрд░ A0 рд░реАрд╕реЗрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдпрд╣ рд▓реЛрдбрдбрд╛рдЯрд╛ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИ рддреЛ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИ ред рдЗрд╕рд▓рд┐рдП, рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдмрд┐рдВрджреБ ( рдПрдХ рдХреЗ рд░рд╛рдЬреНрдп рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ) рдХреЗ рд▓рд┐рдП, рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХрддрд╛ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рдЦрд╛рддрд╛ рдЙрд╕рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдордзреНрдп рдЖрд╡реГрддреНрддрд┐ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдмрд╕ рдЗрд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ A0 рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рддреЗ рд╕рдордп, рдШрдбрд╝реА рднреА рдбрд╛рд▓реА рдЬрд╛рдПрдЧреАред рдФрд╕рдд рдЖрд╡реГрддреНрддрд┐ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╕рдордп рдЗрд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рджрд╛рд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕рд╣реА рд╣реИред рдЙрдирдХреА рдЕрд╡рдзрд┐ рднреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реИред
рдЪрд▓реЛ рд╡рд░реНрдгрдирдХрд░реНрддрд╛рдУрдВ рдХреА рдЕрдзрд┐рдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ,

рддреНрд╡рд░рдг, рд░реИрдЦрд┐рдХ рдЧрддрд┐ рдФрд░ рдмреНрд░реЗрдХрд┐рдВрдЧ рдХреЗ рдПрдХ рдЪрд░рдг рд╕реЗ рдорд┐рд▓рдХрд░ред
 void TestWithPacking(int countOnLinearStage) { //   ,   //     . //   ,  DMA    !!! //    ,   !!! StepperController_X_SingleVibrator_WritePeriod (6); //     //    тАФ   CY_SET_REG16(StepperController_X_Datapath_1_D0_PTR, 4); CY_SET_REG16(StepperController_X_Datapath_1_D1_PTR, 2); //    static const uint16 accelerate[] = {0x0010,0x0008,0x0004}; //    static const uint16 deccelerate[] = {0x004,0x0008,0x0010}; //  .    . static const uint16 steps[] = {0x0001}; //  DMA  ,      uint8 channel = DMA_X_DmaInitialize (sizeof(steps[0]),1,HI16(steps),HI16(StepperController_X_Datapath_1_F1_PTR)); CyDmaChRoundRobin (channel,true); //   uint8 tdDeccelerate = CyDmaTdAllocate(); CyDmaTdSetConfiguration(tdDeccelerate, sizeof(deccelerate), CY_DMA_DISABLE_TD, TD_INC_SRC_ADR | TD_AUTO_EXEC_NEXT); CyDmaTdSetAddress(tdDeccelerate, LO16((uint32)deccelerate), LO16((uint32)StepperController_X_Datapath_1_F1_PTR)); //       uint8 tdSteps = CyDmaTdAllocate(); //   !!! //     !!! CyDmaTdSetConfiguration(tdSteps, countOnLinearStage, tdDeccelerate, /*TD_INC_SRC_ADR |*/ TD_AUTO_EXEC_NEXT); CyDmaTdSetAddress(tdSteps, LO16((uint32)steps), LO16((uint32)StepperController_X_Datapath_1_F1_PTR)); //   //     !!! uint8 tdAccelerate = CyDmaTdAllocate(); CyDmaTdSetConfiguration(tdAccelerate, sizeof(accelerate), tdSteps, TD_INC_SRC_ADR | TD_AUTO_EXEC_NEXT); CyDmaTdSetAddress(tdAccelerate, LO16((uint32)accelerate), LO16((uint32)StepperController_X_Datapath_1_F1_PTR)); //      CyDmaChSetInitialTd(channel, tdAccelerate); //         CyDmaChEnable(channel, 1); } 


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕рдорд╛рди рджрд╕ рдЪрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд░реЗрдВ (рдбреАрдПрдордП рдореЗрдВ, 20 рдмрд╛рдЗрдЯреНрд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ):

 TestWithPacking (20); 

рдкрд░рд┐рдгрд╛рдо рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИред рд╢реБрд░реБрдЖрдд рдореЗрдВ, рддреНрд╡рд░рдг рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рдФрд░ рдЖрдИрдбреАрдПрд▓рдИ (рдиреАрд▓реА рдХрд┐рд░рдг) рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдирд╛ рдЖрдЦрд┐рд░реА рдкрд▓реНрд╕ рд╕реЗ рдмрдбрд╝реА рджреЗрд░реА рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИ, рдлрд┐рд░ рдЕрдВрддрд┐рдо рдЪрд░рдг рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдореВрд▓реНрдп рдкрд╣рд▓реЗ рдХреЗ рдореВрд▓реНрдп рдХреЗ рд▓рдЧрднрдЧ рдмрд░рд╛рдмрд░ рд╣реИред



рд╕рд╛рдорд╛рдиреНрдп рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЕрд╕рд▓реА рдШреЛрдбрд╝рд╛


рдЙрдкрдХрд░рдг рдХреЛ рд░реАрдореЙрдбреЗрд▓ рдХрд░рддреЗ рд╕рдордп, рдореИрдВрдиреЗ рдХрд┐рд╕реА рддрд░рд╣ 24-рдмрд┐рдЯ рдкрд▓реНрд╕ рдЪреМрдбрд╝рд╛рдИ рд╕реЗ 16-рдмрд┐рдЯ рдиреМрдХрд░реА рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕рд┐рджреНрдз рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдпрд╣ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдиреНрдпреВрдирддрдо рдкрд▓реНрд╕ рдЖрд╡реГрддреНрддрд┐ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реЛрдЧреАред рдореИрдВрдиреЗ рдЬрд╛рдирдмреВрдЭрдХрд░ рдРрд╕рд╛ рдХрд┐рдпрд╛ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ 16-рдмрд┐рдЯ рдХрд╛рдЙрдВрдЯрд░ рдХреА рдмрд┐рдЯ рдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреА рддрдХрдиреАрдХ рдЗрддрдиреА рдЬрдЯрд┐рд▓ рд╣реЛ рдЧрдИ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдореБрдЦреНрдп рдорд╢реАрди рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ рд╡рд░реНрдгрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рднреА рдХрд╛ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░реЗрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЗрд╕реЗ рдЕрд▓рдЧ рд╕реЗ рдорд╛рдирддреЗ рд╣реИрдВред

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 16-рдмрд┐рдЯ рдмреИрдЯрд░реА рд╣реИред рдореИрдВрдиреЗ рд╕рд╛рдд-рдмрд┐рдЯ рдХрд╛рдЙрдВрдЯрд░ рдорд╛рдирдХ рдЗрдХрд╛рдИ рдХреЛ рдЙрдЪреНрдЪ рдмрд┐рдЯреНрд╕ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдпрд╣ рд╕рд╛рдд-рдмрд┐рдЯ рдХрд╛рдЙрдВрдЯрд░ рдХреНрдпрд╛ рд╣реИ? рдпрд╣ рд╡рд╣ рдбрд┐рдЬрд╝рд╛рдЗрди рд╣реИ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ UDB рдмреНрд▓реЙрдХ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ (рдЖрдзрд╛рд░ UDB рдмреНрд▓реЙрдХ рдореЗрдВ рд╕рднреА 8-рдмрд┐рдЯ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреА рдереЛрдбрд╝реА рдЪреМрдбрд╝рд╛рдИ рд╣реИ, рдмрд┐рдЯ рдЧрд╣рд░рд╛рдИ рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рдмреНрд▓реЙрдХ рдХреЗ рд╕рдВрдпреЛрдЬрди рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрддреА рд╣реИ)ред рд╕рдорд╛рди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдореЗрдВ рд╕реЗ, рдирд┐рдпрдВрддреНрд░рдг / рд╕реНрдерд┐рддрд┐ рд░рдЬрд┐рд╕реНрдЯрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдХрд╛рдЙрдВрдЯрд░ рд╣реИ рдФрд░ 16 рдмрд┐рдЯ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рднреА рдХрдВрдЯреНрд░реЛрд▓ / рд╕реНрдЯреЗрдЯрд╕ рдкреЗрдпрд░ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХ рдФрд░ рдХрд╛рдЙрдВрдЯрд░ рдЬреЛрдбрд╝рдиреЗ рдкрд░, рд╣рдо рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдореЗрдВ рджреЗрд░реА рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рд╣рдо рд╕рд┐рд░реНрдл рд╡рд╣реА рд▓реЗрддреЗ рд╣реИрдВ рдЬреЛ рд╣рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рд╣реИред рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ! рд╣рдо рдЗрд╕ рддрдВрддреНрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд▓реНрд╕ рдЪреМрдбрд╝рд╛рдИ рдХрд╛рдЙрдВрдЯрд░ рдХреЗ рдЙрдЪреНрдЪ рдмрд╛рдЗрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ 23 рдмрд┐рдЯреНрд╕ рдХреЗ рдмрд░рд╛рдмрд░ рдкрд▓реНрд╕ рдЪреМрдбрд╝рд╛рдИ рдХрд╛рдЙрдВрдЯрд░ рдХреА рдХреБрд▓ рдЪреМрдбрд╝рд╛рдИ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред



рдкрд╣рд▓реЗ рдореИрдВ рд╡рд╣реА рдХрд╣реВрдВрдЧрд╛ рдЬреЛ рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ред рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рджреЗрд░реА рдХреА рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдЗрд╕ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рдЙрдВрдЯрд░ рдХреА рдЧрд┐рдирддреА рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреА рдЬрд╛рдВрдЪ рдХрд░реВрдВрдЧрд╛ред рдпрджрд┐ рдЙрд╕рдиреЗ рдЧрд┐рдирддреА рдкреВрд░реА рдирд╣реАрдВ рдХреА рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕рдХреЗ рдореВрд▓реНрдп рдХреЛ рдХрдо рдХрд░ рджреВрдВрдЧрд╛ рдФрд░ рдлрд┐рд░ рд╕реЗ рджреЗрд░реА рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЖ рдЬрд╛рдКрдВрдЧрд╛ ред рдпрджрд┐ рдЖрдкрдиреЗ рдЧрд┐рдирд╛ рд╣реИ, рддреЛ рддрд░реНрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЪрдХреНрд░ рдХреЛ рдЬреЛрдбрд╝реЗ рдмрд┐рдирд╛ рд╣реА рд░рд╣реЗрдЧрд╛ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рдХрд╛рдЙрдВрдЯрд░ рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рд╕рд╣реА рд╣реВрдВред рд╕рдЪрдореБрдЪ рдпрд╣ рдХрд╣рддрд╛ рд╣реИ:
рдЕрд╡рдзрд┐
рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЕрд╡рдзрд┐ рд░рдЬрд┐рд╕реНрдЯрд░ рдореВрд▓реНрдп рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдПрди рдШрдбрд╝рд┐рдпреЛрдВ рдХреА рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП, рдЕрд╡рдзрд┐ рдореВрд▓реНрдп рдХреЛ рдПрди -1 рдХреЗ рдореВрд▓реНрдп рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрд╛рдЙрдВрдЯрд░ рдПрди -1 рд╕реЗ рдиреАрдЪреЗ 0 рддрдХ рдЧрд┐рдирд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдПрди рдШрдбрд╝реА рдЪрдХреНрд░ рдХреА рдЕрд╡рдзрд┐ рд╣реЛрдЧреАред 0 рдХреА рдЕрд╡рдзрд┐ рд░рдЬрд┐рд╕реНрдЯрд░ рдореВрд▓реНрдп рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд▓рдЧрд╛рддрд╛рд░ рдЙрдЪреНрдЪ рд░рд╛рдЬреНрдп рдореЗрдВ рдЖрдпреЛрдЬрд┐рдд рдЯрд░реНрдорд┐рдирд▓ рдХрд╛рдЙрдВрдЯ рдЖрдЙрдЯрдкреБрдЯ рд╣реЛрдЧрд╛ред
рдЬреАрд╡рди рдиреЗ рджрд┐рдЦрд╛рдпрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдЕрд▓рдЧ рд╣реИред рдореИрдВрдиреЗ рдЖрд╕реНрдЯрд╕реАрд▓рд╕реНрдХрдк рдкрд░ рдЯрд░реНрдорд┐рдирд▓ рдХрд╛рдЙрдВрдЯ рд▓рд╛рдЗрди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдШрдЯрд╛рдпрд╛ рдФрд░ рдкреАрд░рд┐рдпрдб рдореЗрдВ рдкреНрд░реАрд▓реЛрдбреЗрдб рд╢реВрдиреНрдп рдкрд░ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдЗрд╕рдХрд╛ рдореВрд▓реНрдп рджреЗрдЦрд╛ред рдХрд╛рд╢ рдФрд░ рдЖрд╣ред рдХреЛрдИ рдирд┐рд░рдВрддрд░ рдЙрдЪреНрдЪ рдЕрд╡рд╕реНрдерд╛ рдирд╣реАрдВ рдереА!

рдкрд░реАрдХреНрд╖рдг рдФрд░ рддреНрд░реБрдЯрд┐ рд╕реЗ, рдореИрдВ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд╛рдЙрдВрдЯрд░ рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдШрдЯрд╛рд╡ рдЕрд╡рд╢реНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП! "рдШрдЯрд╛рд╡" рдХреА рдирдИ рд╕реНрдерд┐рддрд┐ рдкрдХреНрд╖ рдореЗрдВ рдирд╣реАрдВ рд╣реИред рдЗрд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдорд╛рд░реНрдЧ рдореЗрдВ рдмрджрд▓рдирд╛ рдкрдбрд╝рд╛ред рдпрд╣ рджреЗрд░реА рд░рд╛рдЬреНрдп рдХреЗ рд╕рд╛рдордиреЗ рд╕реНрдерд┐рдд рд╣реИ рдФрд░ рдЗрд╕реЗ рдиреЗрдХреНрд╕реНрдЯ 65536 рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред



рдЗрд╕ рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ ALU рдХреЛрдИ рдЙрдкрдпреЛрдЧреА рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреЗрд╡рд▓ рдПрдХ рдирдпрд╛ рдХрд╛рдЙрдВрдЯрд░ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛрдиреЗ рдХреЗ рддрдереНрдп рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдпрд╣ рдЖрд░реЗрдЦ рдореЗрдВ рд╣реИ:



рдпрд╣рд╛рдБ рдЗрд╕рдХреЗ рдЧреБрдг рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╣реИрдВ:



рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдЗрд╕ рдХрд╛рдЙрдВрдЯрд░ рдХрд╛ рд╕рд╛рд░ рд╕реНрдкрд╖реНрдЯ рд╣реИред рдХреЗрд╡рд▓ рд╕рдХреНрд╖рдо рд░реЗрдЦрд╛ рдкреАрдбрд╝рд┐рдд рд╣реИред рдлрд┐рд░ рд╕реЗ, рдореБрдЭреЗ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рд╣реИ рдХрд┐ рдЬрдм рдорд╢реАрди рд▓реЛрдбрдбреИрдЯреНрдЯрд╛ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИ, рддреЛ рдЗрд╕реЗ рдЪрд╛рд▓реВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдлрд┐рд░ рдХрд╛рдЙрдВрдЯрд░ рдЕрд╡рдзрд┐ рдорд╛рди рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ)ред рдореИрдВрдиреЗ рдпрд╣ рдЪрд╛рд▓ рдХрд╛рдЙрдВрдЯрд░ рдХреЗ рдЧреБрдгреЛрдВ рд╕реЗ рдЙрдзрд╛рд░ рд▓реА рдЬреЛ рдПрд▓ рдИ рдбреА рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЙрди рдПрд▓ рдИ рдбреА рдХреЗ рд▓рд┐рдП рдирд┐рдпрдВрддреНрд░рдг рдЗрдХрд╛рдИ рдХреЗ рдЕрдВрдЧреНрд░реЗрдЬреА рд▓реЗрдЦрдХ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд┐рдирд╛, рдЕрд╡рдзрд┐ рдХрд╛ рд╢реВрдиреНрдп рдорд╛рди рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╡рд╣ рдЙрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреА рд╣реИред

рдПрдкреАрдЖрдИ рдХреЛрдб рдореЗрдВ, рд╣рдо рдПрдХ рдирдП рдХрд╛рдЙрдВрдЯрд░ рдХреЗ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдЕрдм рд╢реБрд░реВ рд╕рдорд╛рд░реЛрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

 void `$INSTANCE_NAME`_Start() { `$INSTANCE_NAME`_SingleVibrator_Start(); //"One" Generator start `$INSTANCE_NAME`_Plus65536_Start(); } 

рдЖрдЗрдП рдирдИ рдкреНрд░рдгрд╛рд▓реА рджреЗрдЦреЗрдВред рдпрд╣рд╛рдБ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдХреЛрдб рд╣реИ

(рдЗрд╕рдореЗрдВ, рдХреЗрд╡рд▓ рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдкрд╣рд▓реЗ рд╕реЗ рдЬреНрдЮрд╛рдд рдПрдХ рд╕реЗ рдЕрд▓рдЧ рд╣реИ):
 void JustTest(int extra65536s) { //      65536  StepperController_X_Plus65536_WritePeriod((uint8) extra65536s); //     //    тАФ   CY_SET_REG16(StepperController_X_Datapath_1_D0_PTR, 4); CY_SET_REG16(StepperController_X_Datapath_1_D1_PTR, 2); //         . //         static const uint16 steps[] = { 0x1000,0x1000,0x1000,0x1000 }; //  DMA  ,      uint8 channel = DMA_X_DmaInitialize (sizeof(steps[0]),1,HI16(steps),HI16(StepperController_X_Datapath_1_F1_PTR)); CyDmaChRoundRobin (channel,true); //       ,       uint8 td = CyDmaTdAllocate(); //       .  ,    . CyDmaTdSetConfiguration(td, sizeof(steps), CY_DMA_DISABLE_TD, TD_INC_SRC_ADR | TD_AUTO_EXEC_NEXT); //       CyDmaTdSetAddress(td, LO16((uint32)steps), LO16((uint32)StepperController_X_Datapath_1_F1_PTR)); //      CyDmaChSetInitialTd(channel, td); //         CyDmaChEnable(channel, 1); } 


рд╣рдо рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдХрд╣рддреЗ рд╣реИрдВ:

  JustTest(0); 

рдСрд╕рд┐рд▓реЛрд╕реНрдХреЛрдк рдкрд░ рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд (рдкреАрд▓реА рдХрд┐рд░рдг - рдПрд╕рдЯреАрдИрдкреА рдЖрдЙрдЯрдкреБрдЯ, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рдХрд╛рдЙрдВрдЯрд░ рдЯреАрд╕реА рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдиреАрд▓рд╛ - рдореВрд▓реНрдп) рджреЗрдЦрддреЗ рд╣реИрдВред рдкрд▓реНрд╕ рдЕрд╡рдзрд┐ рдЪрд░рдг рд╕рд░рдгреА рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдкрд░, рдЕрд╡рдзрд┐ 0x1000 рдЙрдкрд╛рдп рд╣реИред



рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реНрдХреИрди рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдЧрддрддрд╛ рд╣реЛ:



рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЛ рдЗрд╕рдореЗрдВ рдмрджрд▓реЗрдВ:

  JustTest(1); 

рдкрд░рд┐рдгрд╛рдо рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, 0x1000 рдЪрдХреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЯреАрд╕реА рдЖрдЙрдЯрдкреБрдЯ рд╢реВрдиреНрдп рд╣реИ, рдлрд┐рд░ - 0x10000 (65536d) рдЪрдХреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдХрд╛рдИред рдЖрд╡реГрддреНрддрд┐ рд▓рдЧрднрдЧ 700 рд╣рд░реНрдЯреНрдЬ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ, рд╣рдореЗрдВ рд▓реЗрдЦ рдХреЗ рдЕрдВрддрд┐рдо рднрд╛рдЧ рдореЗрдВ рдкрддрд╛ рдЪрд▓рд╛, рдЗрд╕рд▓рд┐рдП рд╕рдм рдХреБрдЫ рд╕рд╣реА рд╣реИред



рдареАрдХ рд╣реИ, рдЪрд▓реЛ рдПрдХ рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ:

  JustTest(2); 

рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ:



рдпрд╣ рд╕рд╣реА рд╣реИред рдЯреАрд╕реА рдЖрдЙрдЯрдкреБрдЯ рдкрд┐рдЫрд▓реЗ 65536 рдШрдбрд╝реА рдЪрдХреНрд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдлрд╝реНрд▓рд┐рдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рд╡рд╣ 0x1000 + 0x10000 рдЪрдХреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╢реВрдиреНрдп рдкрд░ рдерд╛ред

рдмреЗрд╢рдХ, рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рд╕рднреА рджрд╛рд▓реЛрдВ рдХреЛ рдирдП рдХрд╛рдЙрдВрдЯрд░ рдХреЗ рд╕рдорд╛рди рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рддреНрд╡рд░рдг рдХреЗ рджреМрд░рд╛рди рдЙрдЪреНрдЪрддрдо рдмрд╛рдЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдкрд▓реНрд╕ рдмрдирд╛рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, 1, рдлрд┐рд░ 1, рдлрд┐рд░ 0. рддреЛред рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХрдо рдЖрд╡реГрддреНрддрд┐рдпреЛрдВ рдкрд░ (рд╕рд╛рдд рд╕реМ рд╣рд░реНрдЯреНрдЬ рд╕реЗ рдХрдо) рддреНрд╡рд░рдг рдХрд╛ рднреМрддрд┐рдХ рдЕрд░реНрде рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдирдХрд╛рд░рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдЖрд╡реГрддреНрддрд┐ рдкрд░, рдЖрдк рдЗрдВрдЬрди рдХреЗ рд╕рд╛рде рд░реИрдЦрд┐рдХ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдорд░рд╣рдо рдореЗрдВ рдЙрдбрд╝рдирд╛


PSoC5LP рдкрд░рд┐рд╡рд╛рд░ рд░рд╛рдЬреНрдпреЛрдВ рдХреЗ рд▓рд┐рдП TRM рджрд╕реНрддрд╛рд╡реЗрдЬрд╝:
рдкреНрд░рддреНрдпреЗрдХ рд▓реЗрдирджреЗрди 1 рд╕реЗ 64 рдХреЗрдмреА рддрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд░реНрдгрд┐рдд AN84810 рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рд╣реИ:
1. рдЖрдк рдбреАрдПрдордП рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ 4095 рдмрд╛рдЗрдЯреНрд╕ рд╕реЗ рдЕрдзрд┐рдХ рдмрдлрд░ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдЯреАрдбреА рдХреА рдЕрдзрд┐рдХрддрдо рдЕрдВрддрд░рдг рд╕рдВрдЦреНрдпрд╛ 4095 рдмрд╛рдЗрдЯреНрд╕ рддрдХ рд╕реАрдорд┐рдд рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХ рдПрдХрд▓ рдбреАрдПрдордП рдЪреИрдирд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ 4095 рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рдЗрдЯреНрд╕ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдХрдИ рдЯреАрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЪреЗрди рдХрд░реЗрдВ рдЬреИрд╕рд╛ рдХрд┐ рдЙрджрд╛рд╣рд░рдг 5 рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдХреМрди рд╕рд╣реА рд╣реИ? рдпрджрд┐ рдЖрдк рдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкрд░рд┐рдгрд╛рдо рдмрдпрд╛рдиреЛрдВ рдХреЗ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдЭреБрдХрд╛рдП рдЬрд╛рдПрдВрдЧреЗ, рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭ рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛрдЧрд╛ред рдкреВрд░реА рдЧрд▓рддреА рдПрдкреАрдЖрдИ рдореЗрдВ рдЗрд╕ рдЬрд╛рдБрдЪ рд╣реИ:



рдПрдХ рд╣реА рдкрд╛рдаред
 cystatus CyDmaTdSetConfiguration(uint8 tdHandle, uint16 transferCount, uint8 nextTd, uint8 configuration) \ { cystatus status = CYRET_BAD_PARAM; if((tdHandle < CY_DMA_NUMBEROF_TDS) && (0u == (0xF000u & transferCount))) { /* Set 12 bits transfer count. */ reg16 *convert = (reg16 *) &CY_DMA_TDMEM_STRUCT_PTR[tdHandle].TD0[0u]; CY_SET_REG16(convert, transferCount); /* Set Next TD pointer. */ CY_DMA_TDMEM_STRUCT_PTR[tdHandle].TD0[2u] = nextTd; /* Configure the TD */ CY_DMA_TDMEM_STRUCT_PTR[tdHandle].TD0[3u] = configuration; status = CYRET_SUCCESS; } return(status); } 


рдпрджрд┐ рдХреЛрдИ рд▓реЗрдирджреЗрди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ 4095 рдмрд╛рдЗрдЯреНрд╕ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рдкрд┐рдЫрд▓реА рд╕реЗрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рд╛рдВ, рдореИрдВрдиреЗ рддреНрд░реБрдЯрд┐ рдХреЛрдб рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪрд╛ рдерд╛ ...

рдкреНрд░рдпреЛрдЧреЛрдВ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдпрджрд┐ рдЖрдк рдЗрд╕ рдЪреЗрдХ рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд▓рдВрдмрд╛рдИ рдореБрдЦреМрдЯрд╛ 0xfff (4096205 = 0901000) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рдЯ рджреА рдЬрд╛рдПрдЧреАред рдХрд╛рд╢ рдФрд░ рдЖрд╣ред рдПрдХ рд╕реБрдЦрдж рдиреМрдХрд░реА рдХреЗ рд▓рд┐рдП рд╕рднреА рдЖрд╢рд╛рдПрдВ рдзреНрд╡рд╕реНрдд рд╣реЛ рдЧрдИрдВред рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ 4K рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╡рд░рдгрдХреЛрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди, рдХрд╣рддреЗ рд╣реИрдВ, 64K 16 рдЪреЗрди рд╣реИред рддреАрди рд╕рдХреНрд░рд┐рдп рдЗрдВрдЬрди (рдПрдХреНрд╕рдЯреНрд░реВрдбрд░ рдореЗрдВ рдХрдо рдЪрд░рдг рд╣реЛрдВрдЧреЗ) - 48 рдЪреЗрдиред рдкреНрд░рддреНрдпреЗрдХ рдЦрдВрдб рд╕реЗ рдкрд╣рд▓реЗ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрддрдирд╛ рднрд░рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╢рд╛рдпрдж рдпрд╣ рд╕рдордп рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИред рдХрдо рд╕реЗ рдХрдо, 127 рд╡рд░реНрдгрдирдХрд░реНрддрд╛ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рдореЗрдореЛрд░реА рд╣реЛрдЧреАред

рдЖрдк рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рд▓рд╛рдкрддрд╛ рдбреЗрдЯрд╛ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рд░реБрдХрд╛рд╡рдЯ рдпрд╣ рдЖрдИ рдХрд┐ рдбреАрдПрдордП рдЪреИрдирд▓ рдиреЗ рдХрд╛рдо рдкреВрд░рд╛ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ, рд╣рдо рдЗрд╕реЗ рдПрдХ рдФрд░ рд╕реЗрдЧрдореЗрдВрдЯ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрд┐рд╕реА рднреА рдЧрдгрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЦрдВрдб рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрдирд╛ рд╣реБрдЖ рд╣реИ, рд╕рдм рдХреБрдЫ рддреЗрдЬреА рд╕реЗ рд╣реЛрдЧрд╛ред рдФрд░ рдХреЛрдИ рдкреНрд░рджрд░реНрд╢рди рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВ: рдЬрдм рдПрдХ рдмрд╛рдзрд╛ рдЕрдиреБрд░реЛрдз рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдлреАрдлреЛ рдореЗрдВ 4 рдФрд░ рддрддреНрд╡ рд╣реЛрдВрдЧреЗ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдХрдИ рд╕реМ рдпрд╛ рд╣рдЬрд╛рд░реЛрдВ рдШрдбрд╝реА рдЪрдХреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╛рдиреА рд╕рдмрдХреБрдЫ рдЕрд╕рд▓реА рд╣реИред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдп рдХреЗ рджреМрд░рд╛рди рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░рдгрдиреАрддрд┐ рдЪреБрдирдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдкреНрд░рд▓реЗрдЦрди (TRM) рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдиреЗ рдкреВрд░реЗ рдореВрдб рдХреЛ рдЦрд░рд╛рдм рдХрд░ рджрд┐рдпрд╛ред рдпрджрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛, рддреЛ рд╢рд╛рдпрдж рдореИрдВрдиреЗ рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓реА рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХреА рд╣реЛрдЧреАред

рдирд┐рд╖реНрдХрд░реНрд╖


рдЙрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╡рд┐рдХрд╕рд┐рдд рд╕рд╣рд╛рдпрдХ рдлрд░реНрдорд╡реЗрдпрд░ рдЙрдкрдХрд░рдг рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реЛ рдЧрдпрд╛ рддрд╛рдХрд┐ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ "рдлрд░реНрдорд╡реЗрдпрд░" рдХрд╛ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рд╣реЛ рд╕рдХреЗ, рдХрд╣рддреЗ рд╣реИрдВ, рдорд░реНрд▓рд┐рди, рдЬреЛ рд╕реНрдЯреЗрдкрд░ рдореЛрдЯрд░реНрд╕ рдХреЗ рд▓рд┐рдП рд▓рдЧрд╛рддрд╛рд░ рдмрд╛рдзрд╛ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рдирд╣реАрдВ рд╣реИред рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдбреЗрд▓реНрдЯрд╛ рдкреНрд░рд┐рдВрдЯрд░ рдХреЗ рд▓рд┐рдП рд╕рдЪ рд╣реИ, рдЬрд╣рд╛рдВ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдорд╛рдВрдЧ рдХрд╛рдлреА рдЕрдзрд┐рдХ рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рдореЗрд░реЗ рдбреЗрд▓реНрдЯрд╛ рдкрд░ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдмрд╛рдврд╝ рдХреЛ рдЙрди рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрдЧрд╛ рдЬрд╣рд╛рдВ рд╕рд┐рд░ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрдиреНрд╣реАрдВ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ MZ3D рдкрд░ рдХреЛрдИ рдмрд╛рдврд╝ рдирд╣реАрдВ рджреЗрдЦреА рдЬрд╛рддреА рд╣реИред рдпрд╣ рд╕рдЪ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдпрд╣ рд╕рдордп рдмрддрд╛рдПрдЧрд╛, рдФрд░ рдЗрд╕ рдкрд░ рд░рд┐рдкреЛрд░реНрдЯ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╢рд╛рдЦрд╛ рдореЗрдВ рдкреЛрд╕реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЗрд╕ рдмреАрдЪ, рд╣рдордиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ UDB рдмреНрд▓реЙрдХ рдкрд░, рдЕрдкрдиреА рд╕рднреА рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рдореБрдЦреНрдп рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ рдПрдХ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдФрд░ рдЗрд╕реЗ рдЕрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдирд╛ рдХрд╛рдлреА рд╕рдВрднрд╡ рд╣реИред рдФрд░ рдЬрдм рдЗрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реА рдЗрдХрд╛рдЗрдпрд╛рдБ рд╣реЛрддреА рд╣реИрдВ, рддреЛ рд╕рд╣рд╕рдВрд╕рд╛рдзрдХ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

DMA рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рдкрд░рд┐рдгрд╛рдо рдзреБрдВрдзрд▓рд╛ рд╣реЛ рдЧрдпрд╛ред рд░реБрдХрд╛рд╡рдЯреЛрдВ рдХреА рдЕрднреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рдЖрд╡реГрддреНрддрд┐ рдкрд░ рдирд╣реАрдВ рдФрд░ рдЙрд╕ рд╕рдордп рдХреА рдЖрд▓реЛрдЪрдирд╛рддреНрдордХрддрд╛ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдЬреЛ рдореВрд▓ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдереАред рддреЛ рдореВрдб рдЦрд░рд╛рдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди UDB рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ "рдХреЙрдкреНрд░реЗрд╕реЛрд╕реЗрд╕рд░" рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрднреА рднреА рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрд╛рдо рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╛рдлреА рд▓рд╛рдн рджреЗрддрд╛ рд╣реИред

рд╕рд╛рде рд╣реА, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдбреАрдПрдордП рдХрд╛рдлреА рдХрдо рдЧрддрд┐ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, PSoC5LP рдФрд░ STM32 рдкрд░ рдХреБрдЫ рдорд╛рдк рдХрд┐рдП рдЧрдПред рдкрд░рд┐рдгрд╛рдо рдПрдХ рдФрд░ рд▓реЗрдЦ рдЦреАрдВрдЪрддреЗ рд╣реИрдВред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рджрд┐рди рдЕрдЧрд░ рд╡рд┐рд╖рдп рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рдЬрд╛рдП рддреЛ рдореИрдВ рдЗрд╕реЗ рдХрд░ рджреВрдВред

рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рджреЛ рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдкреНрд░рд╛рдкреНрдд рд╣реБрдИрдВред рдкрд╣рд▓реЗ рдХреЛ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реИред рдЖрдк рдЗрд╕реЗ рдпрд╣рд╛рдБ рд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рджреВрд╕рд░реЗ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рдд-рдмрд┐рдЯ рдХрд╛рдЙрдВрдЯрд░ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рддрд░реНрдХ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╕рдордп рдЙрд▓рдЭрди рдореЗрдВ рд╣реИред рдЖрдк рдЗрд╕реЗ рдпрд╣рд╛рдБ рд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдмреЗрд╢рдХ, рдпреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗрд╡рд▓ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рд▓реЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡рд┐рдХ "рдлрд░реНрдорд╡реЗрдпрд░" рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рддрдХ рдХреЛрдИ рдЦрд╛рд▓реА рд╕рдордп рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдЗрди рд▓реЗрдЦреЛрдВ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░, UDB рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

Source: https://habr.com/ru/post/hi434742/


All Articles